This page contains release notes for each version of the Google Cloud Storage JSON API.
Current version: v1
Release history
April 30th, 2014
Released v1 of the JSON API
We are pleased to announce version v1 of the JSON API. The JSON API is now generally available and is fully supported by Google. Upgrading is generally as easy as changing references to "v1beta2" to "v1", but you should read our migration guide for details on the differences before upgrading.
Version v1 of the JSON API introduces the ability to use predefined ACLs, like public-read or project-private, when
manipulating bucket and object ACLs. It also introduces a new
contentEncoding
URL parameter that can be used to denote
specific content encodings for use when uploading objects without specifying metadata.
Deprecated the v1beta2 JSON API
Version v1beta2 is now deprecated. If you're using v1beta2, you will need to switch to v1 over the next six months. Version v1beta2 will remain available until October 31, 2014 .
Version v1beta1 remains deprecated. We have extended its deprecation period to match that of v1beta2. It will also be available until October 31, 2014 .
September 9th, 2013
A minor update to address a
known issue
in
storage.objects.patch
.
July 22nd, 2013
A minor update to support
Object Lifecycle Management
: New
Buckets
resource field
lifecycle
– configures lifecycle management policies.
May 7th, 2013
Google Cloud Storage JSON API is available for preview!
Released new API Version v1beta2
Version
v1beta1
is now deprecated and customers should switch to
v1beta2
. Version v1beta1 will remain available until
November 7th, 2013
October 31st, 2014
(Amended, see
April 30th
notes). One very important change in v1beta2 is that the
data
field has been removed. This means you'll no longer be able to create new objects without going through the
upload/
path, or retrieve object data in the JSON. The complete changes in v1beta2 include:
-
New resource field
etagadded to all resources. -
New
Buckets
resource fields:
-
logging– configures where logs for this bucket are written. -
versioning– keeps multiple versions of objects. -
cors– configures Cross-Origin Resource Sharing (CORS) behavior. -
storageClass– controls the type of storage used by this bucket. -
name– name of the bucket. Use this instead ofidwhen creating a bucket.
-
-
Updated
Objects
resource fields:
-
mediafield removed and its contents refactored:-
contentTypefield moved to the top level. -
timeCreatedfield removed. Was a misnomer anyway: seeupdatedfield below. -
lengthfield moved to the top level and renamed tosize. -
hashfield moved to the top level and renamed tomd5Hash. -
algorithmfield removed; now the algorithm is part of the field name. -
linkfield moved to the top level and renamedmediaLink. -
datafield removed! No more metadata-only uploads; must use the/uploadURI. No more data-via-metadata downloads.
-
-
updatedfield added – time the object metadata was last changed. -
generationandmetagenerationfields added for version control. -
timeDeletedfield added – if the object is deleted (i.e., a historic object), this is the time when it was deleted. -
crc32cfield added – CRC32c checksum. -
componentCountfield added – number of objects in a composite object. See the newstorage.objects.composemethod below.
-
-
New methods:
-
storage.objects.copy– copy an object to a destination with the samelocationandstorageClass. -
storage.objects.compose– produce a new stitched-together object from several other objects in the same bucket. -
storage.objects.watchAll– watch for changes on all objects in a bucket. -
storage.channels.stop– stop a notification channel.
-
-
Updated methods:
-
storage.buckets.insert– now uses a URI parameter to specify theproject, and it can be either the numeric project ID or the globally unique project name. -
storage.objects.list– now allows you to list all object versions.
-
-
New collection
defaultObjectAccessControls, which like the other access controls collections, allow you to perform line-item ACL edits on thedefaultObjectAclof a bucket. -
Projection parameters and
.listmethod parametermax-resultshave been renamed to use camelCase.
To update your application code to v1beta2:
-
Change all URIs from
v1beta1tov1beta2. For example:https://www.googleapis.com/storage/v1beta2/b
-
Update your application code to reflect the following changes, if necessary:
-
If you were using
storage.buckets.insert, set thenamerather than theid, and use theprojectparameter rather than specifying the project in the resource body. -
If you were using the
media.datafield to insert new objects, instead use the Media uploader methods of the Google APIs client (if they exist), or, if using raw HTTP, use the/uploadURI. See How to Upload Objects for the available options. -
If you were using the
media.datafield to download object data, instead use the Media downloader methods of the Google APIs client (if they exist).
-
If you were using
Known Issues
-
Using
storage.objects.patchto remove metadata keys by setting the value tonullresults in an error.
June 30th, 2012
Google Cloud Storage JSON API is available for limited preview!
Known Issues
-
Fixed in a minor update .storage.buckets.patchandstorage.objects.patchrequire an explicitprojection=fullto work. -
APIs Explorer forFixed in v1beta2 , and is limited to viewing object metadata.storage.objects.getreturns a Network Error.