5.0.2 (2022-01-07)
5.0.1 (2021-12-02)
5.0.0 (2021-11-23)
- upgrade Typescript to v4.1.5 and add converter and typing upgrades (#1632)
4.15.1 (2021-09-03)
4.15.0 (2021-08-26)
4.14.2 (2021-08-17)
4.14.1 (2021-08-02)
4.14.0 (2021-07-30)
- add "NON_EMPTY_DEFAULT" FieldBehavior (#1554) (8d9c503)
- allow UnhandledPromiseRejection errors in BulkWriter if no error handler is specified (#1572) (e862ac8)
4.13.2 (2021-07-14)
- deps: google-gax v2.17.1 (#1557) (866bd25)
- lower batch size on BulkWriter retry to stay under throughput limits (#1556) (f17a36e)
4.13.1 (2021-07-01)
4.13.0 (2021-06-29)
- add read-only transactions (#1541) (ca4241e)
- retry BatchGetDocuments RPCs that fail with errors (#1544) (b39dd3c)
- deps: google-gax v2.17.0 with mTLS (#1546) (a322345)
- make request optional in all cases (#1536) (f6edfc1)
4.12.3 (2021-06-16)
- bulkWriter: ensure buffered batches are sent after flush (#1535) (115a134)
- GoogleAdsError missing using generator version after 1.3.0 (#1526) (adfe68e)
4.12.2 (2021-05-27)
4.12.1 (2021-05-27)
- do not load google-gax at client startup (#1517) (2141b08)
- recursive delete: backporting changes from Java (#1514) (92ea651)
- return results from getPartitions() in order (#1521) (c8168a8)
4.12.0 (2021-05-19)
- add
gcf-owl-bot[bot]
toignoreAuthors
(#1506) (6fa1d4d) - add Precondition.exists to delete() (#1505) (28d645b)
4.11.1 (2021-05-13)
4.11.0 (2021-05-05)
4.10.1 (2021-04-28)
4.10.0 (2021-04-15)
4.9.9 (2021-04-07)
- BulkWriter: apply rate limiter before sending batch (#1451) (3a50f8b)
- remove floating point rounding error in Timestamp.fromMillis() (#1464) (97e7281)
4.9.8 (2021-03-15)
4.9.7 (2021-03-09)
- export v1 and v1beta1 client class types correctly (#1445) (6c9319e)
- retry BulkWriter deletes that fail with RST_STREAM error (#1442) (cccf48d)
4.9.6 (2021-03-03)
4.9.5 (2021-03-02)
4.9.4 (2021-02-15)
4.9.3 (2021-02-09)
4.9.2 (2021-02-05)
4.9.1 (2021-01-26)
4.9.0 (2021-01-25)
- add support for applying default converter in withConverter() (#1394) (ab057f7)
- adds UNORDERED_LIST type (#1382) (5b43e7b)
- introduces style enumeration (#1388) (eb1b4dc)
4.8.1 (2020-12-16)
4.8.0 (2020-12-03)
4.7.2 (2020-11-25)
4.7.1 (2020-11-10)
- do not modify options object, use defaultScopes (#1360) (bd40d3a)
- ignore 'undefined' in update() with UpdateMap (#1363) (9bad804)
- remove unneeded async signature from BulkWriter.sendBatch() (#1361) (b5cf449)
4.7.0 (2020-11-05)
4.6.1 (2020-11-03)
4.6.0 (2020-11-03)
4.5.0 (2020-10-26)
- add implicit ordering for startAt(DocumentReference) calls (#1328) (e9afa38)
- add support for Partition API (#1320) (51961c3)
- retry PartitionQuery for INTERNAL and DEADLINE_EXCEEDED (#1336) (fdf5462)
- simplify BulkWriter logic (#1321) (b493baf)
- speed up listDocuments pagination (#1344) (498301d)
- Update getAll example in documentation (#1326) (721fce0)
- update required field to implement NodeJS.Timeout (#1338) (6b7371b)
- firestore/v1: give PartitionQuery retry/timeout config (#1334) (39a30c2)
4.4.0 (2020-09-29)
4.3.0 (2020-09-22)
- add capacity logging to RateLimiter (#1287) (befe625)
- allow
setLogFunction(null)
(#1304) (20b1226) - bulkWriter: writing to the same document does not create a new batch (#1298) (6243d62)
- change typings for select() to return
Query<DocumentData>
(#1303) (b678857) - correct BulkWriter types in firestore.d.ts (#1284) (382128b)
4.2.0 (2020-07-31)
4.1.2 (2020-07-24)
4.1.1 (2020-07-09)
4.1.0 (2020-07-08)
- Added
Firestore.bulkWriter()
, which performs large scale writes in parallel. By default, BulkWriter throttles writes according to the "500/50/5" rule and retries writes that fail due to contention. (#1252) (d0c6c4b)
4.0.0 (2020-06-24)
- drop Node 8 support (#1006)
FirestoreDataConverter.fromFirestore()
is now called with aQueryDocumentSnapshot
instead ofDocumentData
(#965)
- add support for serialization to BigInt
(via settings({useBigInt: true})
(#1016) - add support for set() with SetOptions when using
FirestoreDataConverter
(#1087) - retry CommitRequests that fail with UNAVAILABLE (#1235)
- remove fallback code that periodically invoked CommitRequests inside Transactions on GCF (#1112)
- fixes an error that prevented Firestore from connecting to the Emulator if multiple versions of
@grpc/grpc-js
are installed (#1233)
3.8.6 (2020-06-19)
- reject all promises with errors (#1224) (9118521)
- restart onSnapshot() listeners that stop receiving updates (#1220) (49ca641)
3.8.5 (2020-06-10)
- fix flaky BulkWriter test (#1115) (9a24cc0)
- retry ABORTED for non-transactional commits (#1111) (f175236)
- retry Query streams (#1116) (d7574ea)
3.8.4 (2020-06-01)
3.8.3 (2020-05-31)
3.8.2 (2020-05-30)
- authenticate as admin user when ssl:false is set (#1095) (a178556), closes /github.com/firebase/firebase-js-sdk/issues/3105#issuecomment-635541894
3.8.1 (2020-05-27)
- Add tests to check fields used in whereIn should be equality filters (#1081) (3153dd2)
- capture error stacks across async calls (#1088) (7acdd7e)
3.8.0 (2020-05-13)
- prepare sources for BulkWriter (#1051) (8c52d47)
- allow running source with ts-node (#1074) (f66a089)
- remove type dependency on Moment (#1063) (30008b0)
3.7.5 (2020-04-25)
3.7.4 (2020-04-09)
3.7.3 (2020-03-31)
3.7.2 (2020-03-25)
- fix flaky contention test (#979) (f294998)
- fix: use Random Number from
crypto
to generate AutoId (05b3363)
3.7.1 (2020-03-16)
3.7.0 (2020-03-11)
- deps: update to TypeScript 3.8 (#962) (12982cd)
- add support for Query.limitToLast() (#954) (c89546f)
3.6.0 (2020-03-09)
- base transaction retries on error codes (#953) (4a30820)
- deferred client initialization (#956) (301a7e2)
- implement Timestamp.valueOf() (#947) (24a96c6), closes #944
3.5.1 (2020-02-19)
- collectionReference.add() validation (#925) (19c2c75)
- pass x-goog-request-params header for streaming calls (#920) (cfbe19e)
- propagate converter in QueryOptions.with() (#931) (e35a098)
- wait for operations to complete before deleting clients (#915) (1e5d63f)
3.5.0 (2020-02-07)
- add missing generics on query (#917) (c5b9442)
- better parameter naming in path template helpers (aac02f4)
- retry streaming methods if initial write errored (#897) (2ec0489)
3.4.1 (2020-01-22)
3.4.0 (2020-01-15)
- support serialization of custom objects (#828) (94ddc89)
- support serialization of Moment.js types (#879) (9169fae)
- allow logging to be disabled (#880) (36d75f6)
- don't format log message if logging is disabled (#874) (b7b5fc9)
- disable non-transactional retries for Code ABORTED (#881) (82273ec)
- manually retry ABORTED reads in transactions (#883) (7562033)
- remove ticks from code comments (#885) (b2740ed)
3.3.4 (2020-01-12)
- do not release client before retry (#870) (47f7ab5)
- proper routing headers (43472f6)
- remove redundant log line (#868) (af3196f)
3.3.3 (2020-01-08)
- support Objects created with Object.create({}) (#842) (a85f0c3)
- use rejected Promise for terminate() (#845) (f2c4d91)
3.3.2 (2020-01-06)
3.3.1 (2020-01-06)
- don't recreate instances when client is idle (0aa2a8b)
3.3.0 (2020-01-03)
- add Symbol.asyncInterator to Query.stream() (#843) (68795c4)
- use GAX retry config for streams (#847) (218a4c6)
- increase test timeout (#846) (b94c367)
- retry writes that fail with status code ABORTED (#854) (96f085f)
3.2.0 (2019-12-30)
3.1.0 (2019-12-19)
3.0.0 (2019-12-15)
- convert Gapic client to TypeScript (#805)
- remove deprecated timestampInSnapshots setting (#808)
- convert Gapic client to TypeScript (#805) (5000b2d)
- remove deprecated timestampInSnapshots setting (#808) (f37fffc)
2.6.1 (2019-12-05)
- deps: pin TypeScript below 3.7.0 (0d4e558)
- docs: snippets are now replaced in jsdoc comments (#795) (396bebb)
2.6.0 (2019-11-01)
2.5.0 (2019-10-22)
- introduces ARRAY_CONTAINS_ANY and IN to operator enum (2c8869d)
2.4.0 (2019-10-03)
- provide custom error for FieldValue subclasses (#771) (29c3e9b)
- use compatible version of google-gax (b0c89c5)
2.3.0 (2019-09-09)
2.2.9 (2019-08-30)
2.2.8 (2019-08-22)
2.2.7 (2019-08-16)
2.2.6 (2019-08-02)
2.2.5 (2019-08-02)
2.2.4 (2019-07-08)
2.2.3 (2019-06-26)
- docs: link to reference docs section on googleapis.dev (#701) (d7c89a8)
- Relax validation of FIRESTORE_EMULATOR_HOST in settings() (#703) (daff9de)
2.2.2 (2019-06-25)
- Support non-ISO-8859-1 Collection Names in Queries (fc6f839)
- Unset servicePath when FIRESTORE_EMULATOR_HOST is set (#696) (5a19931)
- Use new stream rather than pipe (#700) (0370e03)
2.2.1 (2019-06-14)
2.2.0 (2019-06-06)
- Split settings.host into servicePath and port (#684) (b2cbca5)
- Store large numbers as doubles (#683) (607b3c0)
- support apiEndpoint override in client constructor (368bc5c)
- Support host, ssl and FIRESTORE_EMULATOR_HOST for endpoint configuration (#680) (d15f29d)
2.1.1 (2019-05-30)
- deps: Pin @gprc/grpc-js to 0.4.0 (#668)
- build: remove verbose logging from test scripts (#665)
- build: ignore proto files in test coverage (#664)
2.1.0 (2019-05-28)
- Add overloads for doc() and doc(id:string) (#662) (cb189e9)
- retry on abort and limit retry count to 10 (#655) (9e97656)
2.0.0 (2019-05-20)
- library now requires Node >= 8.13.0
- deprecation: remove legacy support for array arguments (#625)
- deprecation: remove deprecated getCollections() (#624)
- upgrade engines field to >=8.10.0 (#608)
- deps: update dependency google-gax to ^0.26.0 (#606) (a637a68)
- Fix client pooling for long-lived listens (#614) (479bc9c), closes firebase/firebase-admin-node#499 #256
- deps: update dependency google-gax to v1 (#615) (687a353)
- run the generator (#616) (92b0add)
- docs: revert jsdoc and pin to 3.5.5 (#627) (e22f9c6)
- Support more than 100 long-lived streams (#623) (9474e3f)
- upgrade engines field to >=8.10.0 (#608) (32485f4)
- upgrade engines field to >=8.13.0 (#636) (a5db7d8)
- deprecation: remove deprecated getCollections() (#624) (43ac9c6)
- deprecation: remove legacy support for array arguments (#625) (54dd405)
04-26-2019 16:54 PDT
- chore(deps): update dependency nyc to v14 (#600)
- chore(deps): update dependency typescript to ~3.4.0
- docs: add .readme-metadata.json and generate new README.md
- docs: Add example for Precondition (#601)
03-21-2019 14:17 PDT
- feature: Release the V1 Admin API (#590)
The Firestore Node SDK now exposes the Firestore Admin API (via
v1.FirebaseAdminClient()
).
- deps/refactor: Removing @google-cloud/projectify (#564)
- chore(deps): update dependency hard-rejection to v2
- chore: publish to npm using wombat (#586)
- build: use per-repo publish token (#582)
- refactor: update json import paths (#580)
03-10-2019 20:09 PDT
- feature: Added
FieldValue.increment()
, which can be used increate()
,update()
andset(..., {merge:true})
to increment or decrement numeric field values safely without transactions (#444)
- refactor: async/await to test/order.ts (#566)
- build: Add docuploader credentials to node publish jobs (#572)
- build: update release config (#570)
- build: use node10 to run samples-test, system-test etc (#571)
03-04-2019 13:32 PST
- fix: throw on invalid credentials (#548)
- fix(deps): update dependency google-gax to ^0.25.0 (#535)
- chore(deps): update dependency mocha to v6
- chore(deps): update dependency duplexify to v4 (#539)
- docs: update comments on protos (#559)
- docs: update API doc comments (#557)
- docs: update links in contrib guide (#550)
- docs: add lint/fix example to contributing guide (#541)
- docs: fix example comments (#540)
- doc: show GA message in README.md (#536)
- Add note about Datastore mode (#552)
- chore: move CONTRIBUTING.md to root (#543)
- docs: update contributing path in README (#544)
- refactor(typescript): enable noImplicitAny (#553)
- chore: update array types (#555)
- Finish TypeScript Migration (#512)
- refactor: improve generated code style. (#538)
- Remove unhandled Promise rejection warning (#556)
- build: use linkinator for docs test (#549)
- build: create docs test npm scripts (#547)
- build: test using @grpc/grpc-js in CI (#546)
01-29-2019 14:02 PST
- doc: update README.md to show this library as GA (#532)
- fix(samples): constructor doesn't need project or cred options (#533)
01-29-2019 12:12 PST
This is the Firestore Node.js Client Library GA release.
01-25-2019 12:21 PST
This release brings in google-gax update to 0.24.0 which had its dependency google-auth-library updated to 3.0.0^ that swaps out axios in favour of gaxios and addresses an issue using the library behind a proxy (googleapis#493).
- chore(deps): update dependency ts-node to v8 (#526)
- fix(deps): update dependency google-gax to ^0.24.0 (#529)
- chore: update year in the license headers. (#523)
01-16-2019 13:14 PST
The timestampsInSnapshots
setting is now enabled by default so timestamp
fields read from a DocumentSnapshot
will be returned as Timestamp
objects
instead of Date
. Any code expecting to receive a Date
object must be
updated.
If you are currently using Firestore.v1beta1.FirestoreClient
, you must switch
to Firestore.v1.FirestoreClient
. No other changes should be required as the
API is 100% identical.
- fix: getAll function signature to allow array destructuring (#515)
- fix: update grpc retry config (#464)
- fix(deps): update dependency google-gax to ^0.23.0 (#518)
- fix(docs): remove unused long running operations types
- docs: elaborate on QuerySnapshot.forEach (#480)
- docs: update doc writetime (#475)
- docs: Fix example for writeTime (#474)
- chore: update license file (#473)
- docs: update readme badges (#470)
- build: check broken links in generated docs (#511)
- chore(build): inject yoshi automation key (#492)
- chore: update nyc and eslint configs (#491)
- chore: fix publish.sh permission +x (#489)
- fix(build): fix Kokoro release script (#488)
- build: add Kokoro configs for autorelease (#487)
- chore: add synth.metadata (#485)
- chore: always nyc report before calling codecov (#482)
- chore: nyc ignore build/test by default (#479)
- chore(build): update the prettier config (#476)
- chore(deps): update dependency typescript to ~3.2.0 (#467)
- fix(build): fix system key decryption (#468)
- Adding array-contains to error message (#465)
- Regenerate library with synth.py customizations (#345)
- contains some documentation and internal timeout changes
- Converting backoff.js to TypeScript (#328)
- Making .dotChanges a method (#324)
- chore(deps): update dependency nyc to v13 (#329)
- fix(deps): update dependency google-gax to ^0.19.0 (#325)
- Fix DocumentReference.get() docs (#332)