/core/externals/update-engine/externals/gdata-objectivec-client/Source/ReleaseNotes.txt

http://macfuse.googlecode.com/ · Plain Text · 996 lines · 591 code · 405 blank · 0 comment · 0 complexity · 2c9f64dce31e0b95ea92a5dd2c203260 MD5 · raw file

  1. Google Data APIs Objective-C Client Library
  2. Framework Release Notes
  3. Project site: http://code.google.com/p/gdata-objectivec-client/
  4. Discussion group: http://groups.google.com/group/gdata-objectivec-client-framework
  5. Changed since 1.12.0
  6. Additions
  7. - Added service methods fetchEntryWithURL:entryClass:completionHandler: and
  8. fetchEntryByUpdatingEntry:forEntryURL:completionHandler:
  9. - Added MD5Checksum, GDataDocFilename, GDataDocSuggestedFilename,
  10. GDataDocLastCommented, GDataSharedWithMe, GDataLastModifiedByMe to document
  11. entries
  12. - Added GDataCategoryLabelShared as a label for document entries.
  13. - Added alternateSelfLink method in GDataEntryDocBase.
  14. - Added Docs Changes feed
  15. - Added GDataACLAdditionalRole
  16. - Added 3d query parameter for YouTube
  17. - Added fetcher shouldFetchInBackground property to service objects
  18. - Added code to the YouTube sample showing how to restart a stopped upload
  19. Changes
  20. - Replaced GDataHTTPFetcher with GTMHTTPFetcher, GDataGatherInputStream with
  21. GTMGatherInputStream, and GDataMIMEDocument with GTMMIMEDocument
  22. - Replaced GDataOAuth with GTMOAuth2
  23. - Feed objects now support NSFastEnumeration of entries
  24. - YouTube uploads now return a GDataEntryYouTubeVideo object
  25. - The YouTube upload URL is now https
  26. - GDataEntryYouTubeFeedLinkBase now has a mediaGroup wrapping the mediaThumbnail
  27. - Renamed GDataYouTubePublicationState's "state" method to "name" to avoid a
  28. compiler warning under Xcode 4
  29. - Removed Translator Toolkit and Google Health support
  30. - Remove upload callbacks on systems without NSURLConnection's didSendBodyData:
  31. support (only affects users running early releases of Mac OS X 10.5)
  32. - Replaced +userAgentStringForString with utility functions from GTMHTTPFetcher
  33. - The category method to get the ticket from an object fetcher was renamed from
  34. -ticket to -GDataTicket to avoid conflict with the GTL library's category.
  35. Bugs Fixed
  36. - Fixed retain of libxml document needed for safely persisting object
  37. unknownChildren.
  38. - Fixed waitForTicket's return value on delete fetches (thanks superbil)
  39. Release 1.12.0
  40. 8-April-2011
  41. Changes since 1.11.0
  42. Additions
  43. - Added static cookie storage accessor to http fetcher
  44. - Added requirealldeleted query parameter
  45. - Added authenticationInfo accessor for fetch error userInfo
  46. - Added yt:name attribute to media:thumbnail
  47. - Added calendar max-attendees query parameter and free/busy feeds
  48. - Added docs:documentDescription and DocList thumbnailLink
  49. Changes
  50. - Tightened up syntax for use with C++ compilers
  51. - The operation queue used for parsing in the service class now has accessors
  52. (thanks saggau)
  53. - Project now uses latest SDKs rather than specific versions
  54. - NSURLErrorNetworkConnectionLost is now retryable by default for 10.5 and later
  55. builds
  56. - For chunk uploads, status 502 is now retryable by default
  57. - Blogger now uses https
  58. - Removed Google Base support
  59. Bugs Fixed
  60. - Fixed leak in elements allocated with GDataXMLElement's initWithXMLString:
  61. (thanks dshimshoni)
  62. - Made cookies set by a redirect immediately available in the new request
  63. (thanks ehoracek)
  64. Release 1.11.0
  65. 1-December-2010
  66. Changes since 1.10.0
  67. Additions
  68. - Added download to a file path or a file handle in GDataHTTPFetcher
  69. - Added comments to http fetcher logging
  70. - Added support for chunked uploads to Picasa Web Albums
  71. - Added keyed roles to ACLs
  72. - Added channel standard feeds URL generator, caption track format query
  73. parameter and caption track derived element, and totalUploadViews statistics
  74. attribute for YouTube
  75. - Added drawings to DocList API
  76. Changes
  77. - Deployment target for framework build is now 10.5
  78. - Removed unused class GDataContactWebsite
  79. - Most APIs now use https URLs
  80. - YouTube ratings are now yt:rating elements for like/dislike counts, not
  81. gd:rating elements
  82. - YouTube sample app has relaxed metadata requirements for uploading
  83. - YouTube API no longer uses client IDs, and no longer uses a custom auth URL
  84. - Contacts API setters now replace empty strings with nil, and birthday
  85. now has an NSDate getter/setter
  86. - OAuth tokens are stripped from http fetcher logs
  87. Bugs Fixed
  88. - Fixed signing of OAuth paths with non-alphanumeric characters
  89. - Fixed OAuth sign-in when using an authentication object with a prior
  90. token secret (thanks ddickison)
  91. - Stop printing _cmd in a macro as a C-string to quiet a clang warning (thanks
  92. j abley)
  93. - Fixed exception when setting geo location to nil (thanks Kazz)
  94. - Fixed GDataEXIFTag's +tagWithName:
  95. - Fixed release on failure to init a GDataXMLDocument (thanks Valentinians)
  96. Release 1.10.0
  97. 31-March-2010
  98. Changes since 1.9.1
  99. Additions
  100. - Added support for Google Translator Toolkit API.
  101. - Added support for Google Analytics v2.1 API.
  102. - Added support for chunked uploads, uploads from a file handle, and upload
  103. pause/resume to Docs and YouTube APIs, and updated Docs and YouTube sample
  104. apps to demonstrate pause/resume.
  105. - Added fieldSelection support for partial responses and updates.
  106. - Added Objective-C block completion handler support to GData service class
  107. fetch APIs.
  108. - Added addCategoryFilterWithCategory: to GDataQuery.
  109. - Added "onlydeleted" parameter for queries.
  110. - Added a faster category search routine, categories:containsCategoryWithScheme:
  111. - Deletion fetch callbacks can now get the deleted entry as the ticket's
  112. postedObject. The postedObject is also now available following authentication
  113. errors.
  114. - GDataServiceGoogle now has methods to fetch an entry or feed specifying an
  115. ETag.
  116. - Added viewLink accessors to Maps entries, and new Maps spacial and attribute
  117. query parameters.
  118. - Added Docs user metadata entry support to the API and sample app.
  119. - Added publish elements to Docs revision feed.
  120. - Added revision publishing and doc duplication to Docs sample app.
  121. - Added yt:incomplete element to app:control in YouTube video entries,
  122. yt:accessControl to video entries, and a caption query parameter.
  123. - Added collections support to Books API and sample app.
  124. - Added experimental OAuth sign-in classes.
  125. Changes
  126. - Service objects now allow static cookie storage, and provide
  127. a getter for their fetchHistory in case separate fetcher objects
  128. want to reuse the service's cookies and dated data cache.
  129. - When several fetches are done immediately and the first requires
  130. authentication, the following fetches wait for the first's authentication
  131. rather than attempt to authenticate individually.
  132. - Credentials and auth tokens used by fetches in progress are no longer affected
  133. by a service credential (name/password) change after the fetch has begun.
  134. - GDataDocumentElements now contains the document classes common to Google Docs
  135. API and Translator Toolkit API.
  136. - Books feed URLs are now generated by a service class method.
  137. - Sample app projects updated to Xcode 3 format.
  138. - Removed setUserAgent: calls from sample apps.
  139. - Changed random to arc4random and added pool drain calls to quiet the clang
  140. static analyzer.
  141. - Improved thread-safety of progress monitoring and fetcher logging.
  142. - Changed Contacts API fetches to use https.
  143. - Changed constant Spreadsheet feed URL to use https.
  144. Bugs Fixed
  145. - Fixed possible simultaneous access of fetcher properties from both
  146. the parsing thread and the callback thread (thanks istvan & matt).
  147. - Fixed iPhone unit test product names (thanks timac).
  148. - Fixed error generation for XPath expressions with libxml.
  149. - Fixed propagation of proxy challenge errors upon fetch failure (thanks
  150. castelino & marali).
  151. - Fixed potential fetcher crash on explicit stopFetching call.
  152. Release 1.9.1
  153. 30-October-2009
  154. Changes since 1.9.0
  155. Additions
  156. - Added GDataFrameworkVersionString function.
  157. Changes
  158. - GDataQueryYouTube's videoQuery now calls through to the base class
  159. fullTextQuery. (thanks voxxar)
  160. Bugs Fixed
  161. - Fixed criteria for expecting new NSURLConnection callback support to
  162. start at iPhone OS 3. (thanks christophvz)
  163. Release 1.9.0
  164. 28-October-2009
  165. Changes since 1.8.0
  166. Additions
  167. - Added GDATA_INCLUDE compiler conditionals to specify which service's code
  168. should be built.
  169. - Added iPhone static library build target to the project file.
  170. - Added service method to authenticate without fetching a feed or entry.
  171. - Added setShouldFormatErrorsAsXML: for queries to encourage older API servers
  172. to return the structured versions of errors.
  173. - Added block callback support to GDataHTTPFetcher
  174. - Added sentData callback support to GDataHTTPFetcher on Snow Leopard and
  175. iPhone 3.0
  176. - Added GDataAuthenticationFetcher, which can be used to create a fetcher
  177. for Google ClientLogin authentication, depending only on GDataHTTPFetcher.
  178. - Added cookie storage method "none" to GDataHTTPFetcher to ignore all cookies.
  179. - Added Docs service v3 support, including the revision feed.
  180. - Added convenience method for creating CCR elements from NSXMLElements.
  181. - Added CCR extension support to Health register entry.
  182. - Added epub accessors to Books API.
  183. - Added YouTube convenience accessors highQualityThumbnail and
  184. mediaContentWithFormatNumber:
  185. - Added calendar query setShouldShowHiddenEvents: for displaying unanswered
  186. calendar invitations.
  187. - Added display attribute to Calendar WebContent element.
  188. - Added OCR and translation on upload to the DocsSample app.
  189. - Added uploading to the FinanceSample app.
  190. Changes
  191. - Parsing is now done asynchronously (on another thread, via NSOperationQueue)
  192. and NSNotifications are sent when parsing begins and ends.
  193. - Removed support for version 1 of the core GData protocol. (See the Google
  194. Data APIs migration guide for core protocol version information.)
  195. - Batch fetches now always disable shouldIgnoreUnknownXML so that the results
  196. in the batch feed can be used for updates.
  197. - The shouldIgnoreXML flag is now settable in individual tickets.
  198. - Made object properties dictionaries more KVO-compliant (thanks mtonkin.)
  199. - GDataHTTPFetcher dated data cache now is bounded in size (by default, 15 MB
  200. for Mac, 1 MB for iPhones) making it suitable for use on iPhones
  201. - GDataHTTPFetcher now takes a GDataFetchHistory class rather than a mutable
  202. dictionary as the optional fetch history
  203. - The service progress callback now takes a ticket as its first parameter
  204. rather than a progress monitor input stream, as progress monitoring
  205. no longer requires that input stream on iPhone 3.0 and Mac OS X 10.5.8
  206. - Rather than warn about an omitted user agent, the library just quietly
  207. defaults to the bundle ID instead. Library users no longer need to call
  208. setUserAgent:.
  209. - Renamed analyticsProperties to avoid conflict with properties of the
  210. GDataObject base class.
  211. - Removed GeoRSS locations from Calendar events
  212. Bugs Fixed
  213. - Changing the service authentication now clears the dated data cache.
  214. - Fixed the atomPub URI when creating new objects with code protocol v2.
  215. - Fixed a bug causing the service's dated data cache to be cleared for every
  216. call setDatedDataCache:NO
  217. - Setting the name of a Google Base attribute also now sets the XML element
  218. local name.
  219. - Changed to stricter encoding of query category filter parameters
  220. (thanks cnoble)
  221. Release 1.8.0
  222. 24-July-2009
  223. Changes since 1.7.0
  224. Additions
  225. - Added support for Google Analytics API
  226. - Added support for Google Maps Data API
  227. - Added classes for Blogger Data API
  228. - Added support for Spreadsheets API version 3 with table and record feeds
  229. - Added support for Contacts API version 3
  230. - Added new classes for Webmaster Tools API
  231. - Added Geo accessor to Calendar API event entries
  232. - Added Calendar settings feed
  233. - Added YouTube CaptionTrack feed
  234. - Added Health example app
  235. - Added batch call to Docs API
  236. - Added "next" link and category accessors to Health profile entries
  237. - Added album creation to photos sample app
  238. - Added removeChild method to GDataXMLElement
  239. - Added query convenience method addCategoryFilterWithScheme:term: and
  240. filter methods addCategoryWithScheme:term: and
  241. addExcludeCategoryWithScheme:term:
  242. - Added spam and aspectRatio elements to YouTube API
  243. - Added a nodesForXPath: method that allows explicit namespace declarations,
  244. and provided access to the default namespace in XPath expressions
  245. (thanks berbie)
  246. Changes
  247. - Fetch callbacks now have a single selector rather than separate success
  248. and failure methods
  249. - Most service-specific fetch calls have been removed; clients should use
  250. the fetch calls in GDataServiceGoogle and GDataServiceGoogleBase
  251. - Tightened URL encoding rules so portions of feed URLs are more strictly
  252. percent-encoded
  253. - Docs sample app now downloads docs by exporting as text files
  254. - Photos API now makes version 2 API requests
  255. - Renamed newSubscriptionVideosFeedLink to recentSubscriptionVideosFeedLink to
  256. make the static analyzer happier
  257. - Changed arguments and return types to use NSInteger/NSUInteger, and updated
  258. print format strings to ensure fixed-size int specification (thanks dan94501)
  259. Bugs Fixed
  260. - Fixed compile on gcc 3.3.
  261. - Removed NSTask invocation for prettyprinting logs in the iPhone simulator
  262. (thanks antitheos)
  263. - Avoid a crash on authentication errors when the failure callback is nil.
  264. - Removed inappropriate override header on POSTs (thanks riggle)
  265. - Fixed initialization code path that could create a duplicate entry in a
  266. single-entry feed (thanks drjpierce)
  267. Release 1.7.0
  268. 12-March-2009
  269. Changes since 1.6.0
  270. Additions
  271. - Added Google Health classes
  272. - Added YouTube user event activity classes
  273. - Added Calendar guest elements and inlinecomments query parameter
  274. - Contacts sample updated to optionally fetch only the MyContacts group.
  275. Changes
  276. - Calendar now defaults to service version 2.1, which slightly changes
  277. responses and response codes from 2.0.
  278. http://code.google.com/apis/calendar/changelog.html
  279. - Release builds on iPhone now compile out the elaborate descriptions
  280. for each GDataObject. Developers can set GDATA_SIMPLE_DESCRIPTIONS
  281. in their projects to control this behavior.
  282. - Release builds on iPhone now compile out the http logging code.
  283. Developers can set STRIP_GDATA_FETCH_LOGGING in their projects to control
  284. this behavior.
  285. - The GDataXMLNode xml shim now registers the topmost namespaces for XPath
  286. resolution.
  287. - Various internal refactoring for improved code readability and
  288. maintainability.
  289. - For parsing performance, unknown elements and attributes are now removed from
  290. GDataObjects by comparing only object pointers, not the underlying XML.
  291. - For parsing performance, GDataObject extension declarations are cached
  292. rather than duplicated in each object.
  293. - To reduce memory usage, GDataObject extensions are stored in arrays only
  294. when there is more than one instance of an extension class.
  295. - To reduce memory usage, GDataXMLNode now caches all generated NSStrings,
  296. and returns nil instead of empty arrays on getters. This may deviate from
  297. NSXML semantics of returning empty arrays.
  298. - GDataOrganization setters now filter out empty string org names and titles.
  299. Bugs Fixed
  300. - Fixed leak in -keepChildXMLElementsForElement (thanks alexkac)
  301. - GDataXMLNode now consistently returns cached copies of child elements
  302. and attributes rather than duplicate copies.
  303. - Fixed possibiilty of If-modified-since header being added to http deletes
  304. Release 1.6.0
  305. 30-January-2009
  306. Changes since 1.5.0
  307. Additions
  308. - Added -setShouldServiceFeedsIgnoreUnknowns to service classes, allowing
  309. for faster feed parsing on iPhone by ignoring unexpected XML, but requiring
  310. that entries from such feeds must be individually fetched by the client
  311. before being updated.
  312. - Added GDataServerError, representing error responses from services supporting
  313. structured errors. On feed and entry fetch errors, a GDataServerErrorGroup
  314. will be available from the NSError object's userInfo dictionary
  315. with the key kGDataStructuredErrorsKey.
  316. - Added explanatory server error text as NSLocalizedFailureReasonErrorKey to
  317. server-generated NSErrors so that logged errors are more useful.
  318. - Added Optional group to project common sources to more easily identify
  319. non-service specific sources which may be omitted. ACL classes are now
  320. optional. Media classes are now required only for YouTube and Photos classes.
  321. - Added service document query parameter and classes for introspection
  322. of feed capabilities
  323. - Added query parameters prettyprint, protocolVersion, language
  324. - Updated YouTube, DocList, and Spreadsheet APIs for GData v2, and Spreadsheet
  325. and Contacts samples for v2 API changes
  326. - Added support for using GDataHTTPFetcher with a single failure selector rather
  327. than separate status and network error selectors.
  328. - Added GDataTargetNamespace.h (and a tool to generate it) to allow plug-ins
  329. to use the library with less risk of class name collision
  330. - Added -responseHeaders getter for GDataHTTPFetcher
  331. - Added -fetchDocEntryWithURL for fetching a single doc entry
  332. - Added -entryForGPhotoID for finding a photo or album with the given ID
  333. - Added -entryForSystemGroupID for finding a contact group with the given
  334. system group ID
  335. - Added feed method for finding feed entries of a single kind
  336. - Updated DocsSample with more folder support
  337. - Fetcher logging now uses xmllint to prettyprint XML for better readability
  338. in Safari
  339. - Added setNamespaces: to GDataXMLNode
  340. - Added openAccess element to books volume entry
  341. - Added new Docs query parameters and new category label constants
  342. - Builds for iPhone and requiring 10.5 and higher now take advantage of
  343. fast enumeration
  344. - Added realm attribute to GDataExtendedProperty element
  345. - Added timesCleaned read-only property to calendar entries, added privateCopy
  346. property to calendar event entries, and removed unsupported "contributor"
  347. access role
  348. - Added -userAgentStringForString to GDataUtilities, and moved
  349. MIMETypeForFileAtPath to GDataUtilities
  350. Bugs Fixed
  351. - Moved some classes from common sources to Calendar folder
  352. - Added methods to fetch individual calendar, photo, and spreadsheet entries
  353. - Fixed query generation for URLs that already contain some parameters
  354. - Fixed GDataXMLElement's elementsForLocalName:URI: to find child elements with
  355. prefixes dependent on their own namespace declarations
  356. - Fixed finance portfolio description method (thanks dujunfly)
  357. - Fixed books volume entry embeddability and viewability accessors
  358. - Renamed photos server and query classes, and changed photos feed domain
  359. - Removed some header files for unit test sources
  360. - Added a log message to indicate when an explicit user-agent is not provided
  361. - Fixed localhost cookie handling under 10.5.6
  362. Release 1.5.0
  363. 23-October-2008
  364. Changes since 1.4.0
  365. Additions
  366. - Services and tickets now support properties to make it easier to pass
  367. parameters to service callback methods. Tickets inherit a copy of the
  368. properties set in the service instance.
  369. - Added Google Finance, Webmaster Tools, and Google Books classes.
  370. - Picasa Web class, method, and constant names changed to Google Photos
  371. - Added support for contact groups and extended properties, and a method
  372. to generate contact feed URLs for projections. Added methods to remove
  373. contact properties. (thanks stevec) Added a service method to fetch a
  374. contact entry given its URL.
  375. - Added GDataXMLNode, a shim layer used for GDATA_IPHONE builds
  376. - GDataObject extension mechanism now supports extensions for
  377. attributes as well as for elements.
  378. - GDataObject base class now handles parsing, generation, copying,
  379. and comparison of local attributes.
  380. - Added namespace utilities to GDataObject: completeNamespaces,
  381. which returns a union of an objects declared namespaces with those of its
  382. parents, and pruneInheritedNamespaces, which removes an objects namespaces
  383. if they are also declared by its parents.
  384. - Added "strict" parameter to GDataQuery.
  385. - Made changes to support 64-bit builds on Leopard.
  386. - Added service support for Google AuthSub tokens.
  387. - Added service methods for fetching ACL feeds and entries.
  388. - Added a convenience routine for setting an entry's batch ID from a string.
  389. - Added YouTube "most_popular" feed ID, and query parameters for location
  390. and language restriction.
  391. - Moved array category method objectsWithValue:forKeyPath: to GDataUtilities
  392. - Added property methods to GDataHTTPFetcher. These are convenient alternatives
  393. to storing an NSDictionary in the userData.
  394. - Added support for OpenSearch 1.1 elements in feeds.
  395. - Added deleteEntry methods to service classes, and changed deleteResorceURL
  396. methods to require an ETag.
  397. - Replaced Obj-C categories on NSArray (such as -editLink) with methods of
  398. GDataObject classes to reduce the number of utility category names in
  399. global namespace.
  400. - Added more document type entry classes, and added more upload document types
  401. to docs sample application. Added folder document support to DocList APIs.
  402. - Added -setShouldUploadDataOnly setting to entry base class, allowing clients
  403. to upload media data to servers without the XML of the GDataObject.
  404. Bugs fixed
  405. - Moved common attribute and element text parsing to GDataObject base class,
  406. substantially reducing code in many classes derived from GDataObject.
  407. - Improved namespaced attribute support in GDataObject.
  408. - Improved parsing performance.
  409. - Fixed two ivar leaks in GDataServiceBase
  410. - GDataObject request generation refactored into its own routine in
  411. GDataServiceBase, allowing for authenticated non-XML requests.
  412. - No longer testing isPrimary in isEqual method in email, postal address,
  413. organization, IM, and phone elements.
  414. - Fixed typo in YouTube sample which passed password as client ID
  415. (thanks wshao99)
  416. - Contact feed class now registered so it can be found for XML feeds
  417. with the proper category.
  418. - Extended property elements now explcitly declare that they have
  419. no default namespace (xmlns="") to avoid child elements from
  420. being interpreted as atom elements.
  421. - Fixed ContactsSample to check the photo edit link to determine if the
  422. photo has changed on the server
  423. - HTTP logging now uses NSDateFormatter rather than NSCalendarDate.
  424. - Escaping of links now done in http logging.
  425. - Replaced NSDecimalSeparator use with NSLocale in parsing NSDecimalNumber.
  426. - Fixed a potential GDataHTTPFetcher crash on failed http authentication.
  427. - Properly encode slug header on uploads, per Atom RFC 5023
  428. - Reduced some potential leaks on 10.4 due to NSURLConnection bugs.
  429. - Fixed string leaks in GDataXMLNode (thanks ct)
  430. - XML INF/-INF now interpreted as infinity
  431. - Fixed some inner GDataObject data structures being improperly copied as
  432. immutable
  433. Release 1.4.0
  434. 19-March-2008
  435. Changes since 1.3.0
  436. Additions
  437. - Added YouTube and Contacts support and sample applications
  438. - Each client service now has a unique header which can be included by client
  439. applications instead of the full header, such as
  440. #import "GData/GDataCalendar.h" rather than #import "GData/GData.h".
  441. - Run loop modes can be specified for services and http fetchers, allowing
  442. networking during modal dialogs.
  443. - Added GDataImplicitValueConstruct as base class for elements with no
  444. children or attribtues
  445. - Added GDATA_DEFINES header, GDATA_FOUNDATION_ONLY and GDATA_IPHONE conditional
  446. compilation tests
  447. - Added kUseRegisteredEntryClass constant instead of nil for specifying
  448. dynamic lookup of entry objects by "kind" category in classForEntries method
  449. - Added rel attribute and URL accessor to GDataFeedLink, and relatedLink
  450. category on NSArray in GDataLink
  451. - Added routine to generate URLs for Picasa Web Albums contact feeds
  452. - Added AreBoolsEqual() utility function
  453. - Added GDataUtilities class for general-purpose utility methods
  454. Bugs fixed
  455. - Google Docs sample now does authenticated document downloads.
  456. - Fixed potential crash when a previously-issued auth token becomes
  457. invalid.
  458. - Fixed leak of category list in feed base class (thanks riggle)
  459. - Framework now built as garbage collection-compatible
  460. - Unit test failures during garbage collection fixed
  461. - Copy methods on GDataObjects now do deep copies
  462. - Added missing constant kGDataBatchOperationQuery (thanks riggle)
  463. - Non-whitespace control characters are now removed from all attribute values
  464. and element text (thanks riggle)
  465. - Render pre-11th century dates with a leading zero (thanks riggle)
  466. - Renamed "initExtensionDeclarations" as "addExtensionDeclarations" and similar
  467. - Unified itemsForDescription mechanism into the GDataObject base class
  468. - Unit tests now invoke stringValue whenever needed so they can be omitted
  469. from key-value test paths
  470. - Added "charset=UTF-8" to the XML header and "Content-Transfer-Encoding=binary"
  471. to binary header inside input stream MIME documents
  472. - GDataFeedBase now specifies that entry class should be looked up dynamically
  473. rather than assuming they are of the class GDataEntryBase.
  474. - Removed the deprecated, never-used gd:contactSection support
  475. Release 1.3.0
  476. 5-December-2007
  477. Changes since 1.2.0
  478. Additions
  479. - Added kGDataLinkRelWebContent (thanks riggle)
  480. - Calendar events now have separate methods for recurrence and non-recurrence
  481. reminders, and calling setRecurrence will move the reminders appropriately
  482. - Added batch support for Calendar and Spreadsheet. Calendar sample app now
  483. does batch delete of events when more than one event is selected.
  484. - Added syncEvent, sequenceNumber, and iCalUID to Calendar event entries.
  485. - Added spreadsheet worksheet methods for setting row and column limits,
  486. and default values for those in new spreadsheets.
  487. - GDataService classes can now optionally follow "next" links when retrieving
  488. feeds. This must be enabled by calling setServiceShouldFollowNextLinks:
  489. on the service object.
  490. - GDataHTTPFetcher and services now optionally automatically retry fetches of
  491. some errors. Calling setIsServiceRetryEnabled: enables the retry behavior
  492. for services.
  493. - Feeds and entries now have methods for adding categories.
  494. - GDataCategory includes label convenience method categoryWithLabel: and
  495. utility categories on arrays, containsCategoryWithLabel: and categoryLabels.
  496. GDataCategory's isEqual: now compares label data as well.
  497. - Docs sample app can now delete a document.
  498. - Picasa Web sample app now shows how to move a photo to another album.
  499. - Added MacOSX version to service request user agent, along with a gzip string
  500. expected in the user agent by Google servers.
  501. - Added a very simple Calendar "Hello World" example tool by David Oster.
  502. Bugs Fixed
  503. - Project settings have been adjusted to build on Leopard.
  504. - Framework is now built with install location of @loader_path/../Frameworks...
  505. instead of @executable_path/../Frameworks/... so it can be loaded by other
  506. bundles such as plug-ins.
  507. - A specific format is now specified in the header for calling setUserAgent:
  508. (like [service setUserAgent:@"CompanyName-AppName-1.0"])
  509. The library now will append the client library version to the user agent
  510. string.
  511. - GDataObject's isEqual: no longer compares local element names
  512. - Fixed PicasaWeb feed URL parameter escaping.
  513. - Fixed GDataCategory's categoriesWithScheme: category on NSArray.
  514. - Now removes null characters from strings added to XML elements to avoid
  515. XML that makes servers unhappy.
  516. - Feed, entry, and service classes now call their own methods more reliably
  517. to aid subclassing.
  518. - Text constructs no longer specify "type=text" since that is implied according
  519. to the Atom standard.
  520. - Service unit tests now cover http cookies and caching.
  521. - HTTP cookies now work with server at localhost.
  522. - Now defining -hash on GDataObject for better Leopard compatibility.
  523. - Fixed setting the ticket error on authentication errors.
  524. Release 1.2.0
  525. 15-August-2007
  526. Changes since 1.1.0
  527. Additions
  528. - Added support for Google Code Search
  529. - Added support for Google Docs document list
  530. - Added http logging (see GDataHTTPFetcherLogging.h)
  531. - Added ability to provide a connection class for GDataHTTPFetcher
  532. - Added routines to let library users override standard classes
  533. with their own surrogate subclasses (see GDataServiceBase.h)
  534. - Added setProperty:forKey: and propertyForKey: to GDataObject so users can
  535. easily attach any data without subclassing
  536. - The ticket now retains the posted object for the convenience of the callbacks
  537. - Added convenience setters for methods that take GDataTextContruct.
  538. For example, framework now supports setTitleWithString:.
  539. - Added new PicasaWeb query parameters and all-photos feed URL string.
  540. - Added support for Calendar web content gadget preferences
  541. - Added support for add/update/remove calendars and calendar subscriptions
  542. - Added ascending order parameter to Query base class
  543. - Added more Calendar query parameters
  544. - Authentication errors are now also returned in the userInfo with the "error"
  545. key (thanks ghulands)
  546. - Add rel constants for GDataWhere (thanks riggle)
  547. - Added a call to clear the last-modified dates tracked by the service object
  548. - Added HTMLLink convenience accessor
  549. Bugs Fixed
  550. - Fixed escaping algorithm for query parameter generation.
  551. - Calendar sample app no longer attempts to set the author value for an event,
  552. as the author is always the authenticated user
  553. - Removed method for retrieving a calendar event feed for a username
  554. - Changed addReminders: to addReminder: (thanks riggle)
  555. - Return proper numeric types in GDataValueConstruct methods (thanks riggle)
  556. - Fixed bugs in finding the proper class to instantiate from a category in XML
  557. - Store cookies on redirects (thanks riggle)
  558. - Fixed some addExtension methods
  559. - Fixed extra retain on arguments during pre-authenticated fetches
  560. - Allow subclasses of GDataEntryPhoto to override photoData method
  561. - Ensure default application identifier is valid for an http useragent
  562. - When a service is asked to retrieve a feed and actually fetches an entry,
  563. the service no longer creates a feed to contain the entry, so clients must
  564. be explicit about whether a feed or an entry is expected
  565. - Fixed convenience method for GDataTextConstruct to return subclass type
  566. (thanks ghulands)
  567. Release 1.1.0
  568. 4-June-2007
  569. Changes since 1.0.0
  570. - Added photos, media, and geo data classes, and Picasa Web Albums service
  571. classes
  572. - Interfaces now use proper subclasses of GDataValueConstruct to ensure
  573. that XML element names are generated from objects created from scratch.
  574. - The XMLElement extension methods may now pass nil as default name to
  575. their superclass to use the extension's defined default name.
  576. - Added ACL feed support, and ACL display and editing in Calendar sample
  577. - GDataAtomPubControl convenience creator adds the "app" namespace for the
  578. element
  579. - Fixed some incorrect selector signatures in the Blogger sample
  580. - Changed GDataHTTPFetcher to allow redirects from http to https
  581. - Upload of http data may now be monitored with progress callbacks
  582. - GData fetcher now can respond to proxy credential challenges
  583. - Entry content is now a GDataEntryContent object rather than a text construct
  584. - Add accidentally omitted extendedProperty interfaces to
  585. GDataEntryCalendarEvent and fix extendedProperty default element
  586. name (thanks iwankerl)
  587. Release 1.0.0
  588. 16-April-2007
  589. Initial public release. Includes standard base elements, entry, feed,
  590. service, and query classes, and unit tests. Includes classes for
  591. Calendar, Google Base, Spreadsheets.