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
etag
added 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 ofid
when creating a bucket.
-
-
Updated
Objects
resource fields:
-
media
field removed and its contents refactored:-
contentType
field moved to the top level. -
timeCreated
field removed. Was a misnomer anyway: seeupdated
field below. -
length
field moved to the top level and renamed tosize
. -
hash
field moved to the top level and renamed tomd5Hash
. -
algorithm
field removed; now the algorithm is part of the field name. -
link
field moved to the top level and renamedmediaLink
. -
data
field removed! No more metadata-only uploads; must use the/upload
URI. No more data-via-metadata downloads.
-
-
updated
field added – time the object metadata was last changed. -
generation
andmetageneration
fields added for version control. -
timeDeleted
field added – if the object is deleted (i.e., a historic object), this is the time when it was deleted. -
crc32c
field added – CRC32c checksum. -
componentCount
field added – number of objects in a composite object. See the newstorage.objects.compose
method below.
-
-
New methods:
-
storage.objects.copy
– copy an object to a destination with the samelocation
andstorageClass
. -
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 thedefaultObjectAcl
of a bucket. -
Projection parameters and
.list
method parametermax-results
have been renamed to use camelCase.
To update your application code to v1beta2:
-
Change all URIs from
v1beta1
tov1beta2
. 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 thename
rather than theid
, and use theproject
parameter rather than specifying the project in the resource body. -
If you were using the
media.data
field 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/upload
URI. See How to Upload Objects for the available options. -
If you were using the
media.data
field 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.patch
to remove metadata keys by setting the value tonull
results in an error.
June 30th, 2012
Google Cloud Storage JSON API is available for limited preview!
Known Issues
-
storage.buckets.patch
andstorage.objects.patch
require an explicitprojection=full
to work. -
APIs Explorer forFixed in v1beta2 , and is limited to viewing object metadata.storage.objects.get
returns a Network Error.