PageRenderTime 124ms CodeModel.GetById 106ms app.highlight 7ms RepoModel.GetById 1ms app.codeStats 1ms

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