Version history

Version 3.6.0, released 2024-03-27

New features

  • Change netstandard2.1 target to netstandard2.0 (commit 82bea85)
  • Throw if an must-exist precondition is explicitly set to false for update. (commit 5cfc625)

Version 3.5.1, released 2024-02-14

Bug fixes

  • Restore the use of "legacy" routing headers until the newer header is fully supported in the Firestore emulator. (commit 6a5e369)

Version 3.5.0, released 2024-01-30

Bug fixes

New features

  • Multiple database support promoted to GA
  • Add configurable retry timing for RunTransactionAsync (commit 4b1acf8)
  • All BatchGetDocuments RPCs to have customized retry settiings (per-FirestoreDb) (commit ad580e0)

Version 3.5.0-beta01, released 2023-11-29

Note: this is a beta release as multiple database support in Firestore is still in preview. We don't expect the API surface to change between now and the final release, but we don't guarantee that.

New features

  • Expose multiple database support in FirestoreDb/FirestoreDbBuilder (commit 4dd0318)

Version 3.4.0, released 2023-10-04

Bug fixes

  • Dispose of the gRPC call in the WatchStream even if non-RpcExceptions are thrown (commit f89ba63)
  • Dispose of gRPC streaming calls appropriately (commit 541d439)
  • Simple disposals within Firestore (commit cdc22d2)

New features

Documentation improvements

  • Change Google Cloud Platform to Google Cloud in handwritten code (commit cef5f43)

Version 3.3.0, released 2023-05-03

No API surface changes; just dependency updates.

Version 3.2.0, released 2023-03-22

New features

Version 3.1.0, released 2023-02-08

New features

  • Add support for count(*) aggregation query firestore (commit 1df2774)

Version 3.0.0, released 2022-06-09

This is the first version of this package to depend on GAX v4.

There are some breaking changes, both in GAX v4 and in the generated code. The changes that aren't specific to any given API are described in the Google Cloud documentation. We don't anticipate any changes to most customer code, but please file a GitHub issue if you run into problems.

The most important change in this release is the use of the Grpc.Net.Client package for gRPC communication, instead of Grpc.Core. When using .NET Core 3.1 or .NET 5.0+ this should lead to a smaller installation footprint and greater compatibility (e.g. with Apple M1 chips). Any significant change in a core component comes with the risk of incompatibility, however - so again, please let us know if you encounter any issues.

Version 2.5.0, released 2022-01-18

No API surface changes; just dependency updates.

Version 2.4.0, released 2021-05-05

Version 2.3.1, released 2021-04-06

(No API surface change, as expected in a patch release.)

Version 2.3.0, released 2020-11-18

No API surface change - just dependencies, and a GA release of the new serialization attribute from 2.3.0-beta01.

Version 2.3.0-beta01, released 2020-10-29

Version 2.2.0, released 2020-10-05

  • Commit 8698c6e: docs: Improve "where in/not-in" documentation slightly
  • Commit e35d18b: feat: Add "where not in" Firestore query support
  • Commit 1f3168e: feat: Add "where not equal" support for Firestore
  • Commit ef55349: chore: Simplify WriteBatch implementation in line with internal guidance
  • Commit 310a1cb: chore: Refactor WriteBatch now that every update is just a single Write
  • Commit 94375e9: chore: Fix conformance tests, by using update transforms
  • Commit eddc395: fix: Fix WhereIn filters being used in implicit orderings
  • Commit bb09597: feat: Allow general iterable objects to be serialized (but not deserialized) in Firestore

Version 2.1.0, released 2020-06-02

  • Commit 48cef0e: Allow nested arrays to be constructed client-side, relying on server-side validation
  • Commit b1e6e8b: Perform some more client-side validation for WhereIn queries to avoid an unfortunate type safety mistake
  • Commit 2517e6e: Convert strings into references for DocumentId queries. Fixes issue 4981

Note that although this release doesn't involve any API surface changes, the features here (particularly converting strings into references for DocumentId queries) feel significant enough to warrant a minor version instead of a patch release. (They are effectively features rather than bug fixes.)

Version 2.0.0, released 2020-05-12

This is the first GA release targeting GAX v3.

Version 2.0.0-beta02, released 2020-03-18

No API surface changes in Google.Cloud.Firestore compared with 2.0.0-beta01, just dependency and implementation changes.

The underlying Google.Cloud.Firestore.V1 protos have a new UpdateTransforms property, but that's not used yet.

Version 2.0.0-beta01, released 2020-02-18

This is the first prerelease targeting GAX v3. Please see the breaking changes guide for details of changes to both GAX and code generation.

Most of these changes do not affect Google.Cloud.Firestore, although they do affect the Google.Cloud.Firestore.V1 and Google.Cloud.Firestore.Admin.V1 packages.

Two breaking changes which definitely affect Google.Cloud.Firestore:

  • The EmulatorDetection enum is now in the Google.Api.Gax namespace, and the previous ProductionOrEmulator value within it has been renamed to EmulatorOrProduction.
  • Service endpoints are now represented by strings rather than the (now-removed) ServiceEndpoint class

Version 1.1.0, released 2019-12-03

  • Support for In and ArrayContainsAny queries (issue 3783)
  • Firestore emulator support (issue 3397)
  • Conversion support for named value tuples (issue 2787)
  • FirestoreDbBuilder for simplified configuration beyond defaults
  • Per-FirestoreDb converter customization (issue 3255)
  • Public FirestoreEnumNameConverter type (issue 2842)
  • Document snapshot timestamp propagation attributes (issue 2830)

Version 1.0.0, released 2019-07-16

Initial GA release.