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.