My favorites | English | Sign in

Google Calendar APIs and Tools

API Changelog

Subscribe Subscribe

Google periodically updates the Calendar Data API in order to deliver new features and to repair defects discovered in previous versions. In most cases, these changes will be transparent to API developers. However, occasionally we need to make changes that require developers to modify their existing applications.

This page documents any changes made to the Calendar API that may effect your application. We recommend that API developers periodically check this list for any new announcements. Changes will also be announced via this page's Atom feed and the Calendar API discussion group.

Release 2009-11 (October 21, 2009)

This release fixes the following issues:

  • Resolved issues related to recurrences where DTSTART dates would not be rendered or would cause an HTTP 500 (Internal Server Error) when they fell outside of an RRULE pattern.

Release 2009-10 (September 23, 2009)

This release fixes the following issues:

  • Issue 52: Added support for changing an event’s organizer programatically. Setting an event’s organizing attendee (rel='http://schemas.google.com/g/2005#event.organizer') to anything but the current organizer will move the event. The returned entry reflects the event on the new calendar.

Release 2009-09 (September 16, 2009)

This release fixes the following issues:

  • Fixed an issue that would occasionally cause an HTTP 500 (Internal Server Error) response when deleting an event.
  • Fixed an issue that would occasionally cause an HTTP 500 (Internal Server Error) response when creating a calendar.
  • Issue 320: <gCal:syncEvent> can now be used with non-primary calendars by setting the X-Redirect-Calendar-Shard: true header.
  • An HTTP 400 (Bad Request) response is now returned instead of HTTP 500 when creating an event with a UID that is too short or too long.
  • Improved lookup of name data inside of <atom:author> tags.
  • Allow retrieving new invitations in event feeds by setting the showhidden=true query parameter.

Release 2009-08 (July 29, 2009)

This release fixes the following issues:

  • Ensure that HTTP 410 (Gone) is returned if updated-min is set to a date before the last time a calendar was cleaned. This allows sync clients to know that all events are out out of sync and that a complete rebuild should be performed. (Requires protocol version 2.1.)
  • If both gd:when and gd:recurrence data are specified when creating an event entry, an HTTP 400 (Bad Request) error is returned.
  • Issue 866: Attempting to configure a calendar to use an invalid timezone now returns an HTTP 400 (Bad Request) error rather than defaulting to UTC.

Release 2009-07 (July 9, 2009)

This release fixes the following issues:

  • Accessing an HTTPS feed using an HTTP-scoped AuthSub or OAuth token was previously forbidden, requiring users to obtain multi-scope tokens when connecting to certain Google Apps domains. Use of an HTTP scope is now permitted when accessing HTTPS feeds.

Release 2009-06 (June 11, 2009)

This release did not add new features to the Calendar Data API.

Release 2009-05 (May 20, 2009)

This release adds the following new features:

  • Implement the new element gCal:suppressReplyNotifications, which allows an attendee to suppress email notifications sent to event organizers when replying to an event.
  • Add eventFeed link in calendar (metafeed) entries. (This currently duplicates the information available in the rel=”alternate” link, but this may change in a future release.)
  • Show canceled events in free-busy projection as “free” if showdeleted=”true” or updated-min specified. Event may also appear as “free” if it is transparent.
  • HTTP status 500 is now thrown when attempting to convert recurrence exceptions into recurring events.

Release 2009-04 (April 30, 2009)

This release fixes the following issues:

  • HTTP error code 400 (not 500) is now returned in the event an invalid calendar feed projection is requested.
  • Internal server errors are no longer thrown when an invalid ACL scope is specified.
  • HTTP status 400 is now returned when trying to create a recurring event with duration exceeding 1 year.
  • Removed a race condition if a comment was edited within 1 second of creation.

Release 2009-03 (March 25, 2009)

This release adds the following new features:

  • Added GeoRSS data to event entries when available. (Experimental/Read Only)

Release 2009-02 (March 5, 2009)

This release adds the following new features:

This release fixes the following bugs:

  • Issue 296: Recurring events can now be converted into single-instance events by removing their gd:recurrence rule. Additionally, the event’s ID no longer changes when doing so.

Release 2009-01 (February 4, 2009)

This release introduces version 2.1 of the Calendar Data API. While otherwise identical to version 2.0, when using version 2.1 certain actions will behave in a non-backwards compatible manner, as documented below. This version can be requested by setting the GData-Version: 2.1 HTTP header or appending ?v=2.1 to request URIs.

Changes made in protocol version 2.1 only:

  • An HTTP 410 (Gone) status message is now returned if the updated-min query parameter for a request is too far in the past.
  • An HTTP 409 (Conflict) status message is now returned when inserting a recurrence exception that would result in a duplicate gCal:eid value.

If a client wishes to retain version 2.0 error behavior, then it can either send a request with the Gdata-Version: 2.0 HTTP header or append ?v=2.0 to request URIs. In this case, no error will be provided if an outdated updated-min parameter is provided or if a gCal:eid conflict occurs when inserting a recurrence exception. However, the server response docuement will still conform to version 2.1 and contain a Gdata-Version: 2.1 header.

Changes made for all protocol versions:

  • Fixed a bug that prevented conversion of single occurrence events to recurring events.
  • Fixed multiple bugs related to tombstones that occured when deleting recurrence exceptions.
  • The gAcl:sendNotifications element will no longer appear in responses to ACL update requests.
  • In the event of an HTTP 409 Conflict, the conflicting event entry will now be returned as part of the response body.

Back to top