Skip to content

0.1.7

Choose a tag to compare

@ajkannan ajkannan released this 02 Apr 00:01

Features

Datastore

  • gcloud-java-datastore now uses Cloud Datastore v1beta3. You can read more about updates in Datastore v1beta3 here. Note that to use this new API, you may have to re-enable the Google Cloud Datastore API in the Developers Console. The following API changes are coupled with this update.
    • Entity-related changes:
      • Entities are indexed by default, and indexed has been changed to excludeFromIndexes. Properties of type EntityValue and type ListValue can now be indexed. Moreover, indexing and querying properties inside of entity values is now supported. Values inside entity values are indexed by default.
      • LatLng and LatLngValue, representing the new property type for latitude & longitude, are added.
      • The getter for a value's meaning has been made package scope instead of public, as it is a deprecated field.
    • Read/write-related changes:
      • Force writes have been removed. Since force writes were the only existing option in batch and transaction options, the BatchOption and TransactionOption classes are now removed.
      • ReadOption is added to allow users to specify eventual consistency on Datastore reads. This can be a useful optimization when strongly consistent results for get/fetch or ancestor queries aren't necessary.
    • Query-related changes:
      • QueryResults.cursorAfter() is updated to point to the position after the last consumed result. In v1beta2, cursorAfter was only updated after all results were consumed.
      • groupBy is replaced by distinctOn.
      • The Projection class in StructuredQuery is replaced with a string representing the property name. Aggregation functions are removed.
      • There are changes in GQL syntax:
        • In synthetic literal KEY, DATASET is now PROJECT.
        • The BLOBKEY synthetic literal is removed.
        • The FIRST aggregator is removed.
        • The GROUP BY clause is replaced with DISTINCT ON.
        • Fully-qualified property names are now supported.
        • Query filters on timestamps prior to the epoch are now supported.
    • Other miscellaneous changes:
      • The "userinfo.email" authentication scope is no longer required. This means you don't need to enable that permission when creating new instances on Google Compute Engine to use gcloud-java-datastore.
      • The default value for namespace is now an empty string rather than null.

Fixes

General

  • In gcloud-java-bigquery, gcloud-java-dns, and gcloud-java-storage, the field id() has been renamed to generatedId for classes that are assigned ids from the service.

Datastore

  • Issue #548 (internal errors when trying to load large numbers of entities without setting a limit) is fixed. The work around mentioned in that issue is no longer necessary.