0.1.0
Features
Core
-
The project ID set in the Google Cloud SDK now supersedes the project ID set by Compute Engine (#337).
Before
The project ID is determined by iterating through the following list in order, stopping when a valid project ID is found:
- Project ID supplied when building the service options
- Project ID specified by the environment variable
GCLOUD_PROJECT
- App Engine project ID
- Compute Engine project ID
- Google Cloud SDK project ID
After
- Project ID supplied when building the service options
- Project ID specified by the environment variable
GCLOUD_PROJECT
- App Engine project ID
- Google Cloud SDK project ID
- Compute Engine project ID
-
The explicit
AuthCredentials.noCredentials
option was removed.
Storage
-
The testing helper class
RemoteGCSHelper
now usesGOOGLE_APPLICATION_CREDENTIALS
andGCLOUD_PROJECT
environment variables to set credentials and project (#335, #339).Before
export GCLOUD_TESTS_PROJECT_ID="MY_PROJECT_ID" export GCLOUD_TESTS_KEY=/path/to/my/key.json
After
export GCLOUD_PROJECT="MY_PROJECT_ID" export GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/key.json
-
BlobReadChannel
throws aStorageException
if a blob is updated during a read (#359, #390) -
generation
is moved fromBlobInfo
toBlobId
, andgenerationMatch
andgenerationNotMatch
methods are added toBlobSourceOption
andBlobGetOption
(#363, #366).Before
BlobInfo myBlobInfo = someAlreadyExistingBlobInfo.toBuilder().generation(1L);
After
BlobId myBlobId = BlobId.of("bucketName", "idName", 1L);
-
The
Blob
's batch delete method now returns false for blobs that were not found (#380).
Fixes
Core
- An exception is no longer thrown when reading the default project ID in the App Engine environment (#378).
SocketTimeoutExceptions
are now retried (#410, #414).
Datastore
- A
SocketException
exception is no longer thrown when creating the Datastore service object from within the App Engine production environment (#411).