Changelog

3.0.7 (2021-10-27)

Bug Fixes

  • java: java 17 dependency arguments (#802) (ec07294)
  • set timeouts for BatchGetDocuments/RunQuery (#799) (6cd2a45)

3.0.6 (2021-10-19)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v2.4.0 (#793) (1af36a9)

3.0.5 (2021-09-22)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v2.3.0 (#775) (35469d6)

3.0.4 (2021-09-14)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.1 (#765) (e7a6537)

3.0.3 (2021-08-31)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.0 (#753) (6744bfa)
  • update google-cloud-conformance-tests to 0.2.0 (#752) (135bc6b)

3.0.2 (2021-08-23)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v2.1.0 (#739) (99b5820)

3.0.1 (2021-08-11)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v2.0.1 (#728) (167683d)

3.0.0 (2021-08-09)

⚠ BREAKING CHANGES

  • update Java compile to 1.8 (#710)
  • update gapic generator to 2.0.0, java 8 features (#719)

Features

  • update Java compile to 1.8 (#710)
  • gapic-generator-java v1.0.13, mtls support (#712) (a27dd9c)
  • update gapic generator to 2.0.0, java 8 features (#719) (0d5b378)

Dependencies

2.6.2 (2021-07-29)

Bug Fixes

  • Add shopt -s nullglob to dependencies script (8f4b199)
  • Ensures bundles are encoded as UTF8 bytes. (#695) (0946a17)
  • lower batch size on BulkWriter retry (#688) (146b21d)
  • Update dependencies.sh to not break on mac (#694) (8f4b199)

Documentation

  • began merging variant client samples (#696) (0a10dd8)

2.6.1 (2021-06-30)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v1.4.0 (#680) (b8ffcb4)

2.6.0 (2021-06-29)

Features

Bug Fixes

  • handle thrown exceptions in runAsyncTransaction callback (#671) (969f7fd)

2.5.1 (2021-06-22)

Bug Fixes

  • return results from getPartitions() in order (#653) (12d17d1)

Dependencies

  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.1.1 (#650) (b93ca8a)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v1.3.0 (#660) (0f13fd0)

2.5.0 (2021-06-01)

Features

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v1.2.0 (#640) (9bd881a)

2.4.0 (2021-05-17)

Features

Bug Fixes

  • add flush check in BulkWriter.sendBatchLocked() callback (#631) (ac3db81)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v1.1.0 (#626) (00dbe33)

2.3.0 (2021-04-23)

Features

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v1 (#607) (21e8cde)

2.2.7 (2021-04-20)

Bug Fixes

  • release scripts from issuing overlapping phases (#595) (4372479)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.1 (#597) (dbd3d33)

2.2.6 (2021-04-13)

Bug Fixes

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.0 (#584) (c83a222)

2.2.5 (2021-03-11)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.1 (#567) (7370d21)

2.2.4 (2021-02-25)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.0 (#554) (0ae4ea3)

2.2.3 (2021-02-19)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.19.0 (#543) (7eed88c)

2.2.2 (2021-02-19)

Bug Fixes

  • block close() on the termination of all RPC channels (#512) (67bd06a)
  • samples: close firestore instance in test (#476) (fb1cb17)

2.2.1 (2021-02-02)

Bug Fixes

  • don't throw NPE in DocumentSnapshot.getDate() when value is missing (#513) (a41b07e)

2.2.0 (2021-01-20)

Features

  • Add bundle proto building (#271) (994835c)
  • add bundle.proto from googleapis/googleapis (#407) (37da386)
  • add CollectionGroup#getPartitions(long) (#478) (bab064e)
  • add implicit ordering for startAt(DocumentReference) calls (#417) (aae6dc9)
  • add max/min throttling options to BulkWriterOptions (#400) (27a9397)
  • add success and error callbacks to BulkWriter (#483) (3c05037)
  • Implementation of Firestore Bundle Builder (#293) (fd5ef90)
  • Release bundles (#466) (3af065e)

Bug Fixes

  • add @BetaApi, make BulkWriter public, and refactor Executor (#497) (27ff9f6)
  • build: sample checkstyle violations (#457) (777ecab)
  • bulkWriter: writing to the same doc doesn't create a new batch (#394) (259ece8)
  • empty commit to trigger release-please (fcef0d3)
  • make BulkWriterOptions public (#502) (6ea05be)
  • retry Query streams (#426) (3513cd3)
  • retry transactions that fail with expired transaction IDs (#447) (5905438)
  • verify partition count before invoking GetPartition RPC (#418) (2054ae9)

Documentation

  • sample: normalize firestore sample's region tags (#453) (b529245)

Dependencies

  • remove explicit version for jackson (#479) (e2aecfe)
  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.12 (#367) (2bdd846)
  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.13 (#411) (e6157b5)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.0 (#383) (cb39ee8)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.2 (#403) (991dd81)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.12.1 (#425) (b897ffa)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.13.0 (#430) (0f8f218)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.14.1 (#446) (e241f8e)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.15.0 (#460) (b82fc35)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.0 (#481) (ae98824)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.1 (4ace93c)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.17.0 (#487) (e11e472)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.18.0 (#495) (f78720a)
  • update jackson dependencies to v2.11.3 (#396) (2e176e2)

2.1.0 (2020-09-10)

Features

  • add method to set emulator host programmatically (#319) (#336) (97037f4), closes #210 #190
  • add opencensus tracing support (#360) (edaa539)
  • add support for != and NOT_IN queries (#350) (68aff5b)
  • generate protos to add NOT_EQUAL, NOT_IN, IS_NOT_NAN, IS_NOT_NULL query operators (#343) (3fb1b63)

Bug Fixes

  • samples: re-add maven exec config for Quickstart sample (#347) (4c2329b)
  • add support to deserialize to custom Lists and Maps (#337) (dc897e0)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.9.0 (#352) (783d41e)

2.0.0 (2020-08-14)

New Features

Query Partition API

New API and backend RPC which allows for fetching a set of cursor keys for a Collection Group Query. Accessible via the new CollectionGroup#getPartitions(long,ApiStreamObserver) method.

Read-Only Transaction Options

TransactionOptions has been refactored to provide the ability to configure options for read-only transactions along with the existing configuration for read-write transactions.

This new ability is provided via the new TransactionOptions.createReadOnlyOptionsBuilder() type safe builder.

Along with the new type safe builder for read-only options, there is a new type safe builder for read-write options as well accessible via TransactionOptions.createReadWriteOptionsBuilder(). Each of the existing TransactionOptions.create(...) methods for configuring read-write options has been deprecated in favor of the new builder.

EmulatorCredentials

com.google.cloud.firestore.FirestoreOptions.Builder.FakeCredentials has been made static and renamed to com.google.cloud.firestore.FirestoreOptions.EmulatorCredentials allowing instantiation outside FirestoreOptions.Builder.

When connecting to the Cloud Firestore Emulator via FirestoreOptions rather than the environment variable FIRESTORE_EMULATOR_HOST, a custom credential implementation must be specified to allow various admin operations in the emulator. Previously this required users to create their own implementation due to it not being possible to construct a FakeCredential. As part of this change, EmulatorCredentials is static and therefore able to be constructed from any location.

Breaking Changes

New Firestore Admin Client API Artifact

The Cloud Firestore Admin Client has been migrated to its own maven artifact com.google.cloud:google-cloud-firestore-admin rather than being bundled in com.google.cloud:google-cloud-firestore. All packages and classes have retained their existing names.

The new artifact is included in the com.google.cloud:google-cloud-firestore-bom, com.google.cloud:google-cloud-bom and com.google.cloud:libraries-bom artifacts and is accessible by adding the new dependency to your pom.xml file:

<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-firestore-admin</artifactId>
</dependency>

Removal of v1beta1

Cloud Firestore has been GA for some time now, and the google-cloud-firestore code base has been using the protos and generated classes for the v1 api since that time. As such, we will no longer be publishing artifacts for the deprecated v1beta1 protos. All functionality from v1beta1 is present in v1, and all users should update any code to use v1.

Removal of support for java.util.Date in Snapshots

It is no longer possible to configure the ability for java.util.Date to be returned from DocumentSnapshot.get(FieldPath) or DocumentSnapshot.getData() for properties which are stored as Timestamps in Cloud Firestore.

The default behavior has been to return com.google.cloud.Timestamp by default for some time, and is now the only option. Any code that is dependent on the old behavior must be updated to use Timestamps instead of Date.

Laundry List of Pull Requests

⚠ BREAKING CHANGES

  • add support for the Query Partition API (#202)
    • Firestore#collectionGroup(...) has a new return type CollectionGroup which requires any code that previously used the method be re-compiled to pick up the new signature. CollectionGroup extends Query and as such does not require your code to be updated, only the compiled class files.
  • move FirestoreAdminClient and associated classes to new artifact google-cloud-firestore-admin (#311)
  • remove deprecated v1beta1 protos and grpc client (#305)
  • remove deprecated FirestoreOptions#setTimestampsInSnapshotsEnabled (#308)
  • remove deprecated getCollections() methods (#307)
  • various renames due to generator changes

Features

  • add support for read-only transactions in TransactionOptions (#320) (c25dca3)
  • add support for the Query Partition API (#202) (3996548)

Bug Fixes

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.5 (#322) (1b21350)
  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.6 (#324) (b945fdb)
  • update jackson dependencies to v2.11.2 (#314) (15d68cd)

Miscellaneous Chores

  • enable gapicv2 (#188) (92224bc)
  • move FirestoreAdminClient and associated classes to new artifact google-cloud-firestore-admin (#311) (03ef755)
  • remove deprecated FirestoreOptions#setTimestampsInSnapshotsEnabled (#308) (7255a42)
  • remove deprecated getCollections() methods (#307) (bb4ddf1)
  • remove deprecated v1beta1 protos and grpc client (#305) (96adacb)
  • add BulkWriter (#323) (e7054df)
  • make BulkWriter package private (#330) (ef0869a)

1.35.2 (2020-07-16)

Bug Fixes

  • add Internal#autoId() (#292) (b91c57c)
  • add support for deleting nested fields that contain periods (#295) (84f602e)
  • use test credentials when connecting to the Emulator from the Firebase Admin SDK (#296) (a0a6e80)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.3 (#289) (2ddb8f1)

1.35.1 (2020-07-01)

Dependencies

  • update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.2 (#280) (9296f7a)
  • update jackson dependencies to v2.11.1 (#272) (1065704)
  • adopt flatten plugin and google-cloud-shared-dependencies (#261) (78b2ebf)

1.35.0 (2020-06-17)

Features

  • ability to serialize Query to Proto (#241) (bae22e0)
  • add support for fieldmask to document reference (#245) (4a846b1)

Dependencies

  • update core dependencies (#254) (9b275ca)
  • update dependency com.google.api:api-common to v1.9.2 (#238) (c47d327)
  • update dependency io.grpc:grpc-bom to v1.30.0 (#244) (b5749d4)

1.34.0 (2020-05-29)

Features

Bug Fixes

  • add RateLimiter (#230) (47d4a11)
  • catch null Firestore in system tests (#215) (2a4a7b5)
  • Fields used in whereIn should be equality filters (#216) (4a62633)
  • replace usages of transform proto with update_transform (#213) (46a3c51)
  • support array of references for IN queries (#211) (b376003)

Dependencies

  • update core dependencies to v1.93.5 (#229) (b078213)
  • update dependency com.google.api:api-common to v1.9.1 (#228) (7e4568d)
  • update dependency com.google.api.grpc:proto-google-common-protos to v1.18.0 (#204) (1e05de4)
  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.10 (#197) (69372af)
  • update dependency com.google.guava:guava-bom to v29 (#180) (3c204b4)
  • update dependency io.grpc:grpc-bom to v1.29.0 (#206) (5d8c50f)
  • update dependency org.threeten:threetenbp to v1.4.4 (#194) (c867bd5)
  • update jackson dependencies to v2.11.0 (#195) (5066812)
  • update protobuf.version to v3.12.0 (#220) (2c0b35d)
  • update protobuf.version to v3.12.2 (#226) (2eeea19)

Documentation

  • update README to include code formatting (#209) (04f8b3b)

1.33.0 (2020-04-08)

Features

  • add new Firestore.runAsyncTransaction (#103) (b28b660)
    • NOTICE This change will require any users of the library that implement com.google.cloud.firestore.Firestore to have to implement the new runAsyncTransaction methods, and is a binary incompatible change in Java 7. Those users who only use com.google.cloud.firestore.Firestore through the instance returned from FirestoreOptions.getDefaultInstance().getService() will not have to recompile their code.
  • add Query.limitToLast() (#151) (c104615)
  • base transaction retries on error codes (#129) (00b6eb3), closes googleapis/nodejs-firestore#953
  • use SecureRandom instead of Random to reduce the chance of auto-id collisions (#156) (0088ee7)

Bug Fixes

  • add missing @InternalExtensionOnly annotation to com.google.cloud.firestore.Firestore (#141) (d3458cb)
  • add support for updating an individual field with pojo in all update method (#136) (7d6c2c1)
  • mark v1beta1 as deprecated (#154) (495f7f9)

Dependencies

  • update core dependencies (#127) (7995db0)
  • update core dependencies (#167) (11f16fd)
  • update core dependencies to v1.55.0 (#158) (f3a20d3)
  • update core dependencies to v1.93.3 (#132) (50394e1)
  • update core dependencies to v1.93.4 (#168) (2118232)
  • update dependency com.google.api:api-common to v1.9.0 (#153) (8ca0ea8)
  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.8 (#123) (0bbf4b0)
  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.9 (#152) (d41c41f)
  • update dependency com.google.cloud.samples:shared-configuration to v1.0.13 (#148) (6bd8e7f)
  • update dependency org.threeten:threetenbp to v1.4.2 (#142) (41b2a9a)
  • update dependency org.threeten:threetenbp to v1.4.3 (#165) (d8bfa80)

1.32.5 (2020-03-05)

Bug Fixes

Dependencies

  • update core dependencies (#120) (293ba55)
  • update core dependencies to v1.93.1 (#124) (6ce14ce)
  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.6 (#118) (7dad920)
  • update dependency io.grpc:grpc-bom to v1.27.2 (#116) (83ef310)
  • update jackson dependencies to v2.10.3 (#122) (85a3ced)

1.32.4 (2020-02-18)

Bug Fixes

  • add cause to transaction errors on transaction commit (#108) (00b3c6f)
  • remove error_prone_annotations exclusion rules from poms (#97) (0f9b474)

Dependencies

  • update core dependencies to v1.92.5 (#101) (e767078)
  • update dependency io.grpc:grpc-bom to v1.27.1 (#106) (46a7c48)
  • update opencensus.version to v0.25.0 (#105) (fcdbab3)
  • update protobuf.version to v3.11.4 (#109) (4f498b4)

Documentation

  • regen: update sample code to set total timeout, add API client header test (#100) (d14a4a1)

1.32.3 (2020-02-03)

Dependencies

  • update core dependencies (#89) (7593432)
  • update dependency com.google.auth:google-auth-library-credentials to v0.20.0 (#86) (f32bd9b)
  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.5 (#90) (f701446)
  • update protobuf.version to v3.11.3 (#94) (6155816)

1.32.2 (2020-01-14)

Dependencies

  • update core dependencies (#63) (4c1fb09)
  • update dependency com.fasterxml.jackson.core:jackson-core to v2.10.2 (#69) (5e296b8)
  • update dependency com.fasterxml.jackson.core:jackson-databind to v2.10.2 (#70) (2f3a14b)
  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.4 (#82) (6050055)
  • update dependency com.google.guava:guava-bom to v28.2-android (#76) (c1dcb9f), closes #33
  • update dependency com.google.truth:truth to v1.0.1 (#81) (5d16063)
  • update dependency org.threeten:threetenbp to v1.4.1 (#78) (0db7256)

1.32.1 (2020-01-02)

Bug Fixes

  • add google-cloud-firestore to bom (#65) (b273a58)
  • set google-cloud-conformance-tests to test scope (#44) (03983c3)

Dependencies

  • update dependencies (#51) (ce4c37b), closes #49 #50
  • update dependency com.google.auth:google-auth-library-credentials to v0.19.0 (#48) (d68b457)
  • update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.3 (#55) (6e6644f)
  • update dependency junit:junit to v4.13 (#62) (7f80e44)

Documentation

  • bump bom version in README to 3.1.0 (#47) (d8bebb3)

1.32.0 (2019-12-04)

Features

  • firestore: allow passing POJOs as field values throughout API reference (#6843) (180f5a9)

Dependencies

  • update gax.version to v1.51.0 (#31) (d5125c5)
  • update protobuf packages to v3.11.0 (#26) (862ebce)
  • update protobuf packages to v3.11.1 (#28) (c0c3b2c)