UNPKG

66.8 kBMarkdownView Raw
1# @firebase/firestore
2
3## 3.7.3
4
5### Patch Changes
6
7- [`bf7cc8f69`](https://github.com/firebase/firebase-js-sdk/commit/bf7cc8f691f7a17730b071d3d9c27bd28a6e3980) [#6712](https://github.com/firebase/firebase-js-sdk/pull/6712) (fixes [#6613](https://github.com/firebase/firebase-js-sdk/issues/6613)) - Fix "missing index" error message to include the link to create the composite index.
8
9- [`e2a90bf67`](https://github.com/firebase/firebase-js-sdk/commit/e2a90bf678eb6fa505f8b2f627e03cff622607b5) [#6729](https://github.com/firebase/firebase-js-sdk/pull/6729) - Fix transaction.set() failure without retry on "already-exists" error.
10
11## 3.7.2
12
13### Patch Changes
14
15- [`4af28c1a4`](https://github.com/firebase/firebase-js-sdk/commit/4af28c1a42bd25ce2353f694ca1724c6101cbce5) [#6682](https://github.com/firebase/firebase-js-sdk/pull/6682) - Upgrade TypeScript to 4.7.4.
16
17- Updated dependencies [[`4af28c1a4`](https://github.com/firebase/firebase-js-sdk/commit/4af28c1a42bd25ce2353f694ca1724c6101cbce5)]:
18 - @firebase/component@0.5.21
19 - @firebase/logger@0.3.4
20 - @firebase/util@1.7.3
21 - @firebase/webchannel-wrapper@0.8.1
22
23## 3.7.1
24
25### Patch Changes
26
27- Updated dependencies [[`807f06aa2`](https://github.com/firebase/firebase-js-sdk/commit/807f06aa26438a91aaea08fd38efb6c706bb8a5d)]:
28 - @firebase/util@1.7.2
29 - @firebase/component@0.5.20
30
31## 3.7.0
32
33### Minor Changes
34
35- [`397317b53`](https://github.com/firebase/firebase-js-sdk/commit/397317b53c4d9d8aee761f566adf3616aef844ed) [#6643](https://github.com/firebase/firebase-js-sdk/pull/6643) - Set withCredentials=true when making requests via non-streaming RPCs, like is done for streaming RPCs.
36
37### Patch Changes
38
39- [`0a112bd2a`](https://github.com/firebase/firebase-js-sdk/commit/0a112bd2aee2e709d6733b1a36876e6fae1e347f) [#6624](https://github.com/firebase/firebase-js-sdk/pull/6624) (fixes [#5873](https://github.com/firebase/firebase-js-sdk/issues/5873)) - Fix Firestore failing to raise initial snapshot from empty local cache result
40
41* [`171b78b76`](https://github.com/firebase/firebase-js-sdk/commit/171b78b762826a640d267dd4dd172ad9459c4561) [#6673](https://github.com/firebase/firebase-js-sdk/pull/6673) - Handle IPv6 addresses in emulator autoinit.
42
43* Updated dependencies [[`397317b53`](https://github.com/firebase/firebase-js-sdk/commit/397317b53c4d9d8aee761f566adf3616aef844ed), [`171b78b76`](https://github.com/firebase/firebase-js-sdk/commit/171b78b762826a640d267dd4dd172ad9459c4561), [`29d034072`](https://github.com/firebase/firebase-js-sdk/commit/29d034072c20af394ce384e42aa10a37d5dfcb18)]:
44 - @firebase/webchannel-wrapper@0.8.0
45 - @firebase/util@1.7.1
46 - @firebase/component@0.5.19
47
48## 3.6.0
49
50### Minor Changes
51
52- [`e35db6f95`](https://github.com/firebase/firebase-js-sdk/commit/e35db6f955f1b712ff67a991d8291352f28708e2) [#6597](https://github.com/firebase/firebase-js-sdk/pull/6597) - Implement count query for internal use.
53
54* [`ee871fc0b`](https://github.com/firebase/firebase-js-sdk/commit/ee871fc0b157e1a186c2895b4290d70c8d1b986f) [#6608](https://github.com/firebase/firebase-js-sdk/pull/6608) - Added `getCountFromServer()` (`getCount()` in the Lite SDK), which fetches the number of documents in the result set without actually downloading the documents.
55
56### Patch Changes
57
58- [`fdd4ab464`](https://github.com/firebase/firebase-js-sdk/commit/fdd4ab464b59a107bdcc195df3f01e32efd89ed4) [#6526](https://github.com/firebase/firebase-js-sdk/pull/6526) - Add functionality to auto-initialize project config and emulator settings from global defaults provided by framework tooling.
59
60* [`c6ba6fc0f`](https://github.com/firebase/firebase-js-sdk/commit/c6ba6fc0f44178d56fe165f71a798663516a2904) [#6619](https://github.com/firebase/firebase-js-sdk/pull/6619) - Fix a time travel issue across multiple tabs
61
62* Updated dependencies [[`fdd4ab464`](https://github.com/firebase/firebase-js-sdk/commit/fdd4ab464b59a107bdcc195df3f01e32efd89ed4)]:
63 - @firebase/util@1.7.0
64 - @firebase/component@0.5.18
65
66## 3.5.0
67
68### Minor Changes
69
70- [`7c0c640a4`](https://github.com/firebase/firebase-js-sdk/commit/7c0c640a446c729ac66fec27dfd77d6398a468db) [#6107](https://github.com/firebase/firebase-js-sdk/pull/6107) - Enable encodeInitMessageHeaders. This transitions the Firestore client from encoding HTTP Headers via the Query Param to the request's POST payload.
71
72 Requires Cloud Firestore Emulator v1.14.4 or newer.
73
74### Patch Changes
75
76- Updated dependencies [[`7c0c640a4`](https://github.com/firebase/firebase-js-sdk/commit/7c0c640a446c729ac66fec27dfd77d6398a468db)]:
77 - @firebase/webchannel-wrapper@0.7.0
78
79## 3.4.15
80
81### Patch Changes
82
83- [`b993aeec4`](https://github.com/firebase/firebase-js-sdk/commit/b993aeec4a8f5188d1f53d07808da079f3ade846) [#6550](https://github.com/firebase/firebase-js-sdk/pull/6550) (fixes [#5871](https://github.com/firebase/firebase-js-sdk/issues/5871)) - Fix FAILED_PRECONDITION when writing to a deleted document in a transaction (#5871)
84
85## 3.4.14
86
87### Patch Changes
88
89- [`f5426a512`](https://github.com/firebase/firebase-js-sdk/commit/f5426a51275bb611a5d9a6df3200d0fe5095afa2) [#6403](https://github.com/firebase/firebase-js-sdk/pull/6403) - Add internal implementation of setIndexConfiguration
90
91* [`10765511f`](https://github.com/firebase/firebase-js-sdk/commit/10765511f7ba33293f7a15af1f98d69a261c019d) [#6496](https://github.com/firebase/firebase-js-sdk/pull/6496) - Expose client side indexing feature with `setIndexConfiguration`.
92
93## 3.4.13
94
95### Patch Changes
96
97- [`1703bb31a`](https://github.com/firebase/firebase-js-sdk/commit/1703bb31afa806087167079641af79c9293ab423) [#6442](https://github.com/firebase/firebase-js-sdk/pull/6442) (fixes [#6438](https://github.com/firebase/firebase-js-sdk/issues/6438)) - Update `@grpc/proto-loader` and `firebase-admin` dependencies to address `protobufjs` security issue.
98
99## 3.4.12
100
101### Patch Changes
102
103- [`ad773fa45`](https://github.com/firebase/firebase-js-sdk/commit/ad773fa451b13f9d58b3f27f7ec6570117b0cc27) [#6418](https://github.com/firebase/firebase-js-sdk/pull/6418) (fixes [#6414](https://github.com/firebase/firebase-js-sdk/issues/6414)) - Fix Node ESM export paths for firestore/lite.
104
105- Updated dependencies [[`b12af44a5`](https://github.com/firebase/firebase-js-sdk/commit/b12af44a5c7500e1192d6cc1a4afc4d77efadbaf)]:
106 - @firebase/util@1.6.3
107 - @firebase/component@0.5.17
108
109## 3.4.11
110
111### Patch Changes
112
113- Updated dependencies [[`efe2000fc`](https://github.com/firebase/firebase-js-sdk/commit/efe2000fc499e2c85c4e5e0fef6741ff3bad2eb0)]:
114 - @firebase/util@1.6.2
115 - @firebase/component@0.5.16
116
117## 3.4.10
118
119### Patch Changes
120
121- [`2cd1cc76f`](https://github.com/firebase/firebase-js-sdk/commit/2cd1cc76f2a308135cd60f424fe09084a34b5cb5) [#6307](https://github.com/firebase/firebase-js-sdk/pull/6307) (fixes [#6300](https://github.com/firebase/firebase-js-sdk/issues/6300)) - fix: add type declarations to exports field
122
123* [`d4b52b612`](https://github.com/firebase/firebase-js-sdk/commit/d4b52b612cf73610c57a3c08a0415ab7b622a70a) [#6321](https://github.com/firebase/firebase-js-sdk/pull/6321) - Fix incorrect paths in package.json
124
125* Updated dependencies [[`2cd1cc76f`](https://github.com/firebase/firebase-js-sdk/commit/2cd1cc76f2a308135cd60f424fe09084a34b5cb5)]:
126 - @firebase/component@0.5.15
127 - @firebase/logger@0.3.3
128 - @firebase/util@1.6.1
129 - @firebase/webchannel-wrapper@0.6.2
130
131## 3.4.9
132
133### Patch Changes
134
135- [`dfab18af6`](https://github.com/firebase/firebase-js-sdk/commit/dfab18af66beeed14b2524f926af5bda506856a6) [#6189](https://github.com/firebase/firebase-js-sdk/pull/6189) - Add `TransactionOptions` param to `runTransaction` method
136
137- Updated dependencies [[`9c5c9c36d`](https://github.com/firebase/firebase-js-sdk/commit/9c5c9c36da80b98b73cfd60ef2e2965087e9f801)]:
138 - @firebase/util@1.6.0
139 - @firebase/component@0.5.14
140
141## 3.4.8
142
143### Patch Changes
144
145- [`05dc9d6a0`](https://github.com/firebase/firebase-js-sdk/commit/05dc9d6a0db3058611dd7a2dc34daa726f9ba20d) [#6128](https://github.com/firebase/firebase-js-sdk/pull/6128) (fixes [#6110](https://github.com/firebase/firebase-js-sdk/issues/6110)) - Fixes an issue during multi-document lookup that resulted in the IndexedDB error "The parameter is less than or equal to this cursor's".
146
147- Updated dependencies [[`e9e5f6b3c`](https://github.com/firebase/firebase-js-sdk/commit/e9e5f6b3ca9d61323b22f87986d9959f5297ec59)]:
148 - @firebase/util@1.5.2
149 - @firebase/component@0.5.13
150
151## 3.4.7
152
153### Patch Changes
154
155- [`69aa7b02d`](https://github.com/firebase/firebase-js-sdk/commit/69aa7b02df3b4d1f9832b7713951936b6bf32ca9) [#5988](https://github.com/firebase/firebase-js-sdk/pull/5988) - The format of some of the IndexedDB data changed. This increases the performance of document lookups after an initial migration. If you do not want to migrate data, you can call `clearIndexedDbPersistence()` before invoking `enableIndexedDbPersistence()`.
156
157- Updated dependencies [[`3198d58dc`](https://github.com/firebase/firebase-js-sdk/commit/3198d58dcedbf7583914dbcc76984f6f7df8d2ef)]:
158 - @firebase/util@1.5.1
159 - @firebase/component@0.5.12
160
161## 3.4.6
162
163### Patch Changes
164
165- Updated dependencies [[`2d672cead`](https://github.com/firebase/firebase-js-sdk/commit/2d672cead167187cb714cd89b638c0884ba58f03)]:
166 - @firebase/util@1.5.0
167 - @firebase/component@0.5.11
168
169## 3.4.5
170
171### Patch Changes
172
173- [`bb8f37c3e`](https://github.com/firebase/firebase-js-sdk/commit/bb8f37c3e83e73876d14fa751cb04ae5e1367394) [#5993](https://github.com/firebase/firebase-js-sdk/pull/5993) - Fixed a bug that caused Firestore streams to get restarted with the same App Check token.
174
175* [`f5ac47fb1`](https://github.com/firebase/firebase-js-sdk/commit/f5ac47fb1a44f7b985fcae1d934e1ffb6ba41d67) [#5982](https://github.com/firebase/firebase-js-sdk/pull/5982) - On browsers that support IndexedDB V3, we now invoke `transaction.commit()` to speed up data processing.
176
177- [`c1b9cf120`](https://github.com/firebase/firebase-js-sdk/commit/c1b9cf1201807fc177a89c9613c06130524563e4) [#5985](https://github.com/firebase/firebase-js-sdk/pull/5985) - Some database operations now use `IndexedDB.getAll()` on browsers where support is availbe.
178
179* [`e9619685b`](https://github.com/firebase/firebase-js-sdk/commit/e9619685b9153f7d6f8767e09e2e1eacc337df76) [#5980](https://github.com/firebase/firebase-js-sdk/pull/5980) - Queries are now send to the backend before the SDK starts local processing, which reduces overall Query latency.
180
181## 3.4.4
182
183### Patch Changes
184
185- [`e28b0e413`](https://github.com/firebase/firebase-js-sdk/commit/e28b0e413decb115c846a7b5ed1e63dbf55c56ab) [#5902](https://github.com/firebase/firebase-js-sdk/pull/5902) (fixes [#5842](https://github.com/firebase/firebase-js-sdk/issues/5842)) - Fixed an AppCheck issue that caused Firestore listeners to stop working and
186 receive a "Permission Denied" error. This issue only occurred for AppCheck users
187 that set their expiration time to under an hour.
188
189* [`d612d6f6e`](https://github.com/firebase/firebase-js-sdk/commit/d612d6f6e4d3113d45427b7df68459c0a3e31a1f) [#5928](https://github.com/firebase/firebase-js-sdk/pull/5928) - Upgrade `node-fetch` dependency due to a security issue.
190
191## 3.4.3
192
193### Patch Changes
194
195- [`044a8d7f9`](https://github.com/firebase/firebase-js-sdk/commit/044a8d7f95a0ba0d34123ff5fd7a4bcb1bd3d328) [#5830](https://github.com/firebase/firebase-js-sdk/pull/5830) (fixes [#5823](https://github.com/firebase/firebase-js-sdk/issues/5823)) - Fix Proto loading for Vercel/Next.js.
196
197* [`ff2f7d4c8`](https://github.com/firebase/firebase-js-sdk/commit/ff2f7d4c85c0bda94b14d66237faa0e5da93bfa4) [#5883](https://github.com/firebase/firebase-js-sdk/pull/5883) - The Node SDK now uses JSON to load its internal Protobuf definition, which allows the Node SDK to work with bundlers such as Rollup and Webpack.
198
199## 3.4.2
200
201### Patch Changes
202
203- [`3b481f572`](https://github.com/firebase/firebase-js-sdk/commit/3b481f572456e1eab3435bfc25717770d95a8c49) [#5831](https://github.com/firebase/firebase-js-sdk/pull/5831) (fixes [#5754](https://github.com/firebase/firebase-js-sdk/issues/5754)) - FirestoreError and StorageError now extend FirebaseError
204
205* [`7f05d22e8`](https://github.com/firebase/firebase-js-sdk/commit/7f05d22e827f1fd0732ad33fda203a20566d3964) [#5835](https://github.com/firebase/firebase-js-sdk/pull/5835) - Fixed an issue that can cause incomplete Query snapshots when the SDK is backgrounded during query execution.
206
207* Updated dependencies [[`3b481f572`](https://github.com/firebase/firebase-js-sdk/commit/3b481f572456e1eab3435bfc25717770d95a8c49)]:
208 - @firebase/util@1.4.3
209 - @firebase/component@0.5.10
210
211## 3.4.1
212
213### Patch Changes
214
215- [`fd8cd3ec4`](https://github.com/firebase/firebase-js-sdk/commit/fd8cd3ec4b7d0747fca258d468ee094573a08bbb) [#5809](https://github.com/firebase/firebase-js-sdk/pull/5809) - Hardcode grpc-js version as a temporary fix for `createRequire` issues in Node CJS.
216
217* [`8298cf8a9`](https://github.com/firebase/firebase-js-sdk/commit/8298cf8a9343dbba6c628d64941dfbe5d17c44aa) [#5741](https://github.com/firebase/firebase-js-sdk/pull/5741) - fix firestore node tests
218
219## 3.4.0
220
221### Minor Changes
222
223- [`086df7c7e`](https://github.com/firebase/firebase-js-sdk/commit/086df7c7e0299cedd9f3cff9080f46ca25cab7cd) [#5634](https://github.com/firebase/firebase-js-sdk/pull/5634) - AppCheck integration for Firestore
224
225## 3.3.1
226
227### Patch Changes
228
229- [`7a5bc84bd`](https://github.com/firebase/firebase-js-sdk/commit/7a5bc84bd84a8d1b422204f30a59f06d5b60f1bd) [#5717](https://github.com/firebase/firebase-js-sdk/pull/5717) (fixes [#5716](https://github.com/firebase/firebase-js-sdk/issues/5716)) - The SDK no longer accesses IndexedDB during a page unload event on Safari 15. This aims to reduce the occurrence of an IndexedDB bug in Safari (https://bugs.webkit.org/show_bug.cgi?id=226547).
230
231* [`ce39a1a07`](https://github.com/firebase/firebase-js-sdk/commit/ce39a1a07e8710e43cc66d9e7db882f185211a9a) [#5738](https://github.com/firebase/firebase-js-sdk/pull/5738) (fixes [#5687](https://github.com/firebase/firebase-js-sdk/issues/5687)) - better meta url polyfill
232
233## 3.3.0
234
235### Minor Changes
236
237- [`532b3cd93`](https://github.com/firebase/firebase-js-sdk/commit/532b3cd939c5a2c13987a21e38a0a121c5dfca04) [#5675](https://github.com/firebase/firebase-js-sdk/pull/5675) (fixes [#5661](https://github.com/firebase/firebase-js-sdk/issues/5661)) - Expanded `Firestore.WithFieldValue<T>` to include `T`. This allows developers to delegate `WithFieldValue<T>` inside wrappers of type `T` to avoid exposing Firebase types beyond Firebase-specific logic.
238
239### Patch Changes
240
241- [`3281315fa`](https://github.com/firebase/firebase-js-sdk/commit/3281315fae9c6f535f9d5052ee17d60861ea569a) [#5708](https://github.com/firebase/firebase-js-sdk/pull/5708) (fixes [#1487](https://github.com/firebase/firebase-js-sdk/issues/1487)) - Update build scripts to work with the exports field
242
243- Updated dependencies [[`3281315fa`](https://github.com/firebase/firebase-js-sdk/commit/3281315fae9c6f535f9d5052ee17d60861ea569a)]:
244 - @firebase/component@0.5.9
245 - @firebase/logger@0.3.2
246 - @firebase/util@1.4.2
247
248## 3.2.1
249
250### Patch Changes
251
252- Updated dependencies [[`2322b6023`](https://github.com/firebase/firebase-js-sdk/commit/2322b6023c628cd9f4f4172767c17d215dd91684)]:
253 - @firebase/component@0.5.8
254 - @firebase/logger@0.3.1
255 - @firebase/util@1.4.1
256 - @firebase/webchannel-wrapper@0.6.1
257
258## 3.2.0
259
260### Minor Changes
261
262- [`4d3640481`](https://github.com/firebase/firebase-js-sdk/commit/4d36404812a7ca24ced5e1aabf6d8aa03de4e08a) [#5532](https://github.com/firebase/firebase-js-sdk/pull/5532) (fixes [#5499](https://github.com/firebase/firebase-js-sdk/issues/5499)) - Fix exports field to also point to Node ESM builds. This change requires Node.js version 10+.
263
264### Patch Changes
265
266- [`f48527617`](https://github.com/firebase/firebase-js-sdk/commit/f485276173ac0f6fb212328d00334892f4b33a9a) [#5668](https://github.com/firebase/firebase-js-sdk/pull/5668) - Add missing compat Firestore conversion for runTransaction
267
268* [`c75bbe957`](https://github.com/firebase/firebase-js-sdk/commit/c75bbe9574133ce6d1487a601c7acb4204e417aa) [#5643](https://github.com/firebase/firebase-js-sdk/pull/5643) - Change the networking API to use XHR instead of `fetch()` for ReactNative.
269
270## 3.1.1
271
272### Patch Changes
273
274- [`93795c780`](https://github.com/firebase/firebase-js-sdk/commit/93795c7801d6b28ccbbe5855fd2f3fc377b1db5f) [#5596](https://github.com/firebase/firebase-js-sdk/pull/5596) - report build variants for packages
275
276## 3.1.0
277
278### Minor Changes
279
280- [`f78ceca1c`](https://github.com/firebase/firebase-js-sdk/commit/f78ceca1cf9198f5d371320e8814c859c261cf67) [#5394](https://github.com/firebase/firebase-js-sdk/pull/5394) - Fixed a bug where `UpdateData` did not recognize union types or optional, dot-separated string fields.
281
282### Patch Changes
283
284- [`a99943fe3`](https://github.com/firebase/firebase-js-sdk/commit/a99943fe3bd5279761aa29d138ec91272b06df39) [#5539](https://github.com/firebase/firebase-js-sdk/pull/5539) - use `constructor.name` for Object type
285
286- Updated dependencies [[`a99943fe3`](https://github.com/firebase/firebase-js-sdk/commit/a99943fe3bd5279761aa29d138ec91272b06df39), [`456d664ae`](https://github.com/firebase/firebase-js-sdk/commit/456d664aef582fc18326ffbd418de0d7d3ef86b7), [`b835b4cba`](https://github.com/firebase/firebase-js-sdk/commit/b835b4cbabc4b7b180ae38b908c49205ce31a422)]:
287 - @firebase/logger@0.3.0
288 - @firebase/util@1.4.0
289 - @firebase/webchannel-wrapper@0.6.0
290 - @firebase/component@0.5.7
291
292## 3.0.2
293
294### Patch Changes
295
296- [`8180a2b77`](https://github.com/firebase/firebase-js-sdk/commit/8180a2b77d331c4d01a000e35f51dc61af660eb7) [#5396](https://github.com/firebase/firebase-js-sdk/pull/5396) - Improved the error handling when opening IndexedDb fails in a Firefox private browsing session.
297
298* [`b8462f248`](https://github.com/firebase/firebase-js-sdk/commit/b8462f2489fb6f37691b136c9a5d453207dccc06) [#5434](https://github.com/firebase/firebase-js-sdk/pull/5434) - Fixes a deadlock during asynchronous initialization of both Firestore and Auth.
299
300- [`bf5772f64`](https://github.com/firebase/firebase-js-sdk/commit/bf5772f645207c24f3218914d27fdbe4e76584a2) [#5440](https://github.com/firebase/firebase-js-sdk/pull/5440) - Fix the implementation of `collection()` with multiple path segments.
301
302* [`dca28a10d`](https://github.com/firebase/firebase-js-sdk/commit/dca28a10dac4409c84d5a991094f7b5a4f3e5c7f) [#5461](https://github.com/firebase/firebase-js-sdk/pull/5461) - Temporary fix for a bug causing `initializeFirestore()` to not work with certain bundling pipelines.
303
304## 3.0.1
305
306### Patch Changes
307
308- [`cd15df0d1`](https://github.com/firebase/firebase-js-sdk/commit/cd15df0d1f51110f448e4284244b06be8d37f1c3) [#5400](https://github.com/firebase/firebase-js-sdk/pull/5400) (fixes [#2903](https://github.com/firebase/firebase-js-sdk/issues/2903)) - Make firestore/lite available in nodejs
309
310* [`6163bb282`](https://github.com/firebase/firebase-js-sdk/commit/6163bb282b4e3b6fe5f405c3b3e35d5691d41677) [#5399](https://github.com/firebase/firebase-js-sdk/pull/5399) - Addressed incorrect use of the `node-fetch` polyfill
311
312## 3.0.0
313
314### Major Changes
315
316- [`5bc6afb75`](https://github.com/firebase/firebase-js-sdk/commit/5bc6afb75b5267bad5940c32458c315e5394321d) [#5268](https://github.com/firebase/firebase-js-sdk/pull/5268) (fixes [#4277](https://github.com/firebase/firebase-js-sdk/issues/4277)) - This change contains multiple quality-of-life improvements when using the `FirestoreDataConverter` in `@firebase/firestore/lite` and `@firebase/firestore`:
317 - Support for passing in `FieldValue` property values when using a converter (via `WithFieldValue<T>` and `PartialWithFieldValue<T>`).
318 - Support for omitting properties in nested fields when performing a set operation with `{merge: true}` with a converter (via `PartialWithFieldValue<T>`).
319 - Support for typed update operations when using a converter (via the newly typed `UpdateData`). Improperly typed fields in
320 update operations on typed document references will no longer compile.
321
322* [`cdada6c68`](https://github.com/firebase/firebase-js-sdk/commit/cdada6c68f9740d13dd6674bcb658e28e68253b6) [#5345](https://github.com/firebase/firebase-js-sdk/pull/5345) (fixes [#5015](https://github.com/firebase/firebase-js-sdk/issues/5015)) - Release modularized SDKs
323
324## 2.4.0
325
326### Minor Changes
327
328- [`3c6a11c8d`](https://github.com/firebase/firebase-js-sdk/commit/3c6a11c8d0b35afddb50e9c3e0c4d2e30f642131) [#5282](https://github.com/firebase/firebase-js-sdk/pull/5282) - Implement mockUserToken for Storage and fix JWT format bugs.
329
330### Patch Changes
331
332- [`f825b1d83`](https://github.com/firebase/firebase-js-sdk/commit/f825b1d83228747e404aaefd9f3948d12257d0fc) [#5288](https://github.com/firebase/firebase-js-sdk/pull/5288) - Fixed a regression that prevented the garbage collector from running if multi-tab was disabled.
333
334- Updated dependencies [[`bb6b5abff`](https://github.com/firebase/firebase-js-sdk/commit/bb6b5abff6f89ce9ec1bd66ff4e795a059a98eec), [`3c6a11c8d`](https://github.com/firebase/firebase-js-sdk/commit/3c6a11c8d0b35afddb50e9c3e0c4d2e30f642131)]:
335 - @firebase/component@0.5.6
336 - @firebase/firestore-types@2.4.0
337 - @firebase/util@1.3.0
338
339## 2.3.10
340
341### Patch Changes
342
343- Updated dependencies [[`a3cbe719b`](https://github.com/firebase/firebase-js-sdk/commit/a3cbe719b1bd733a5c4c15ee0d0e6388d512054c)]:
344 - @firebase/util@1.2.0
345 - @firebase/component@0.5.5
346
347## 2.3.9
348
349### Patch Changes
350
351- [`b51be1da3`](https://github.com/firebase/firebase-js-sdk/commit/b51be1da318a8f79ff159bcb8be9797d192519fd) [#5166](https://github.com/firebase/firebase-js-sdk/pull/5166) (fixes [#4076](https://github.com/firebase/firebase-js-sdk/issues/4076)) - The SDK no longer accesses IndexedDB during a page unload event on Safari 14. This aims to reduce the occurrence of an IndexedDB bug in Safari (https://bugs.webkit.org/show_bug.cgi?id=226547).
352
353* [`2cd9d7c39`](https://github.com/firebase/firebase-js-sdk/commit/2cd9d7c394dd0c84f285fbcfa4b0a5d79509451f) [#5147](https://github.com/firebase/firebase-js-sdk/pull/5147) (fixes [#5047](https://github.com/firebase/firebase-js-sdk/issues/5047)) - Fixed an issue that prevented Timestamps from being used via `update()` when connected to the Emulator
354
355## 2.3.8
356
357### Patch Changes
358
359- Updated dependencies [[`85f73abb5`](https://github.com/firebase/firebase-js-sdk/commit/85f73abb5c5dd5625c82b874adbfbb4acd1d70d7), [`56a6a9d4a`](https://github.com/firebase/firebase-js-sdk/commit/56a6a9d4af2766154584a0f66d3c4d8024d74ba5)]:
360 - @firebase/webchannel-wrapper@0.5.1
361 - @firebase/component@0.5.4
362
363## 2.3.7
364
365### Patch Changes
366
367- Updated dependencies [[`725ab4684`](https://github.com/firebase/firebase-js-sdk/commit/725ab4684ef0999a12f71e704c204a00fb030e5d)]:
368 - @firebase/component@0.5.3
369
370## 2.3.6
371
372### Patch Changes
373
374- [`1d54447ca`](https://github.com/firebase/firebase-js-sdk/commit/1d54447ca928ab50228600858978bb3b341c0507) [#5010](https://github.com/firebase/firebase-js-sdk/pull/5010) - Fixes a regression that prevented Firestore from detecting Auth during its initial initialization, which could cause some writes to not be send.
375 [4971](https://github.com/firebase/firebase-js-sdk/pull/4971) didn't actually fix it.
376
377## 2.3.5
378
379### Patch Changes
380
381- [`4c4b6aed9`](https://github.com/firebase/firebase-js-sdk/commit/4c4b6aed9757c9a7e75fb698a15e53274f93880b) [#4971](https://github.com/firebase/firebase-js-sdk/pull/4971) - Fixes a regression that prevented Firestore from detecting Auth during its initial initialization, which could cause some writes to not be send.
382
383- Updated dependencies [[`4c4b6aed9`](https://github.com/firebase/firebase-js-sdk/commit/4c4b6aed9757c9a7e75fb698a15e53274f93880b)]:
384 - @firebase/component@0.5.2
385
386## 2.3.4
387
388### Patch Changes
389
390- Updated dependencies [[`10fb5b87f`](https://github.com/firebase/firebase-js-sdk/commit/10fb5b87faecf3aa79e15545b21de99af3e51a71)]:
391 - @firebase/webchannel-wrapper@0.5.0
392
393## 2.3.3
394
395### Patch Changes
396
397- Updated dependencies [[`5fbc5fb01`](https://github.com/firebase/firebase-js-sdk/commit/5fbc5fb0140d7da980fd7ebbfbae810f8c64ae19)]:
398 - @firebase/component@0.5.1
399
400## 2.3.2
401
402### Patch Changes
403
404- [`169174520`](https://github.com/firebase/firebase-js-sdk/commit/169174520f6451f5741fd50e8957d4097895e97a) [#4929](https://github.com/firebase/firebase-js-sdk/pull/4929) - Added a warning message when the host settings are overridden without `{merge: true}`.
405
406## 2.3.1
407
408### Patch Changes
409
410- [`96a47097f`](https://github.com/firebase/firebase-js-sdk/commit/96a47097f36fa33f16b3f63b8cc72d256710e528) [#4886](https://github.com/firebase/firebase-js-sdk/pull/4886) - Use 'pagehide' for page termination by default.
411
412## 2.3.0
413
414### Minor Changes
415
416- [`97f61e6f3`](https://github.com/firebase/firebase-js-sdk/commit/97f61e6f3d24e5b4c92ed248bb531233a94b9eaf) [#4837](https://github.com/firebase/firebase-js-sdk/pull/4837) (fixes [#4715](https://github.com/firebase/firebase-js-sdk/issues/4715)) - Add mockUserToken support for Firestore.
417
418### Patch Changes
419
420- Updated dependencies [[`c34ac7a92`](https://github.com/firebase/firebase-js-sdk/commit/c34ac7a92a616915f38d192654db7770d81747ae), [`97f61e6f3`](https://github.com/firebase/firebase-js-sdk/commit/97f61e6f3d24e5b4c92ed248bb531233a94b9eaf), [`ac4ad08a2`](https://github.com/firebase/firebase-js-sdk/commit/ac4ad08a284397ec966e991dd388bb1fba857467)]:
421 - @firebase/component@0.5.0
422 - @firebase/firestore-types@2.3.0
423 - @firebase/util@1.1.0
424
425## 2.2.5
426
427### Patch Changes
428
429- [`633463e2a`](https://github.com/firebase/firebase-js-sdk/commit/633463e2abfdef7dbb6d9bf5275df21d6a01fcb6) [#4788](https://github.com/firebase/firebase-js-sdk/pull/4788) - Ensure that errors get wrapped in FirestoreError
430
431* [`c65883680`](https://github.com/firebase/firebase-js-sdk/commit/c658836806e0a5fef11fa61cd68f98960567f31b) [#4810](https://github.com/firebase/firebase-js-sdk/pull/4810) (fixes [#4795](https://github.com/firebase/firebase-js-sdk/issues/4795)) - Don't send empty X-Firebase-GMPID header when AppId is not set in FirebaseOptions
432
433## 2.2.4
434
435### Patch Changes
436
437- [`6db185be5`](https://github.com/firebase/firebase-js-sdk/commit/6db185be5ed297ba2a8b6c0a098319131da7b552) [#4745](https://github.com/firebase/firebase-js-sdk/pull/4745) - Fixed a bug where decimal inputs to `Timestamp.fromMillis()` calculated incorrectly due to floating point precision loss
438
439- Updated dependencies [[`7354a0ed4`](https://github.com/firebase/firebase-js-sdk/commit/7354a0ed438f4e3df6577e4927e8c8f8f1fbbfda)]:
440 - @firebase/util@1.0.0
441 - @firebase/component@0.4.1
442
443## 2.2.3
444
445### Patch Changes
446
447- Updated dependencies [[`f24d8961b`](https://github.com/firebase/firebase-js-sdk/commit/f24d8961b3b87821413297688803fc85113086b3)]:
448 - @firebase/component@0.4.0
449
450## 2.2.2
451
452### Patch Changes
453
454- [`4cb0945c6`](https://github.com/firebase/firebase-js-sdk/commit/4cb0945c6e7d9ba729d34f893942f039443346aa) [#3888](https://github.com/firebase/firebase-js-sdk/pull/3888) - Added new internal HTTP header to all network requests.
455
456- Updated dependencies [[`de5f90501`](https://github.com/firebase/firebase-js-sdk/commit/de5f9050137acc9ed1490082e5aa429b5de3cb2a)]:
457 - @firebase/util@0.4.1
458 - @firebase/component@0.3.1
459
460## 2.2.1
461
462### Patch Changes
463
464- [`5c1a83ed7`](https://github.com/firebase/firebase-js-sdk/commit/5c1a83ed70bae979322bd8751c0885d683ce4bf3) [#4595](https://github.com/firebase/firebase-js-sdk/pull/4595) - Component facotry now takes an options object. And added `Provider.initialize()` that can be used to pass an options object to the component factory.
465
466- Updated dependencies [[`5c1a83ed7`](https://github.com/firebase/firebase-js-sdk/commit/5c1a83ed70bae979322bd8751c0885d683ce4bf3)]:
467 - @firebase/component@0.3.0
468
469## 2.2.0
470
471### Minor Changes
472
473- [`b6080a857`](https://github.com/firebase/firebase-js-sdk/commit/b6080a857b1b56e10db041e6357acd69154e31fb) [#4577](https://github.com/firebase/firebase-js-sdk/pull/4577) - Added support to remove a FirestoreDataConverter on a Firestore reference by calling `withConverter(null)`
474
475### Patch Changes
476
477- Updated dependencies [[`ec95df3d0`](https://github.com/firebase/firebase-js-sdk/commit/ec95df3d07e5f091f2a7f7327e46417f64d04b4e), [`b6080a857`](https://github.com/firebase/firebase-js-sdk/commit/b6080a857b1b56e10db041e6357acd69154e31fb)]:
478 - @firebase/util@0.4.0
479 - @firebase/firestore-types@2.2.0
480 - @firebase/component@0.2.1
481
482## 2.1.7
483
484### Patch Changes
485
486- Updated dependencies [[`6afe42613`](https://github.com/firebase/firebase-js-sdk/commit/6afe42613ed3d7a842d378dc1a09a795811db2ac)]:
487 - @firebase/component@0.2.0
488
489## 2.1.6
490
491### Patch Changes
492
493- [`a718518e9`](https://github.com/firebase/firebase-js-sdk/commit/a718518e935931709669ea2e88f9711143655e61) [#4395](https://github.com/firebase/firebase-js-sdk/pull/4395) - Fixes a bug where local cache inconsistencies were unnecessarily being resolved.
494
495* [`3d0cd6f33`](https://github.com/firebase/firebase-js-sdk/commit/3d0cd6f33127e75e15aec9b6589eea360827df7a) [#4382](https://github.com/firebase/firebase-js-sdk/pull/4382) - Fix the path to the react native build for the Firestore memory build
496
497## 2.1.5
498
499### Patch Changes
500
501- [`9533688b1`](https://github.com/firebase/firebase-js-sdk/commit/9533688b1e39e58a550ec0527a0363270d73c5b5) [#4347](https://github.com/firebase/firebase-js-sdk/pull/4347) (fixes [#1392](https://github.com/firebase/firebase-js-sdk/issues/1392)) - handle `ignoreUndefinedProperties` in `set({ merge: true })`. Previously this would behave as if the undefined value were `FieldValue.delete()`, which wasn't intended.
502
503## 2.1.4
504
505### Patch Changes
506
507- [`749c7f3d9`](https://github.com/firebase/firebase-js-sdk/commit/749c7f3d985f978cd2a204cbc28c3fff09458b5b) [#4298](https://github.com/firebase/firebase-js-sdk/pull/4298) (fixes [#4258](https://github.com/firebase/firebase-js-sdk/issues/4258)) - Firestore classes like DocumentReference and Query can now be serialized to JSON (#4258)
508
509## 2.1.3
510
511### Patch Changes
512
513- [`6ac66baa0`](https://github.com/firebase/firebase-js-sdk/commit/6ac66baa0e7ac8dd90a6d6136a020cdd54710df5) [#4284](https://github.com/firebase/firebase-js-sdk/pull/4284) (fixes [#4278](https://github.com/firebase/firebase-js-sdk/issues/4278)) - Fixes FirestoreDataConverter.fromFirestore() being called with an incorrect "snapshot" object.
514
515## 2.1.2
516
517### Patch Changes
518
519- [`6069b1d6c`](https://github.com/firebase/firebase-js-sdk/commit/6069b1d6c521d05dde821f21bcc7e02913180ae5) [#4262](https://github.com/firebase/firebase-js-sdk/pull/4262) (fixes [#4253](https://github.com/firebase/firebase-js-sdk/issues/4253)) - Updated an outdated error message to include '!=' and 'not-in' as an inequalities.
520
521* [`ba59a0f90`](https://github.com/firebase/firebase-js-sdk/commit/ba59a0f909a1eb59d23b887bba30b6f86d63c931) [#4233](https://github.com/firebase/firebase-js-sdk/pull/4233) (fixes [#4226](https://github.com/firebase/firebase-js-sdk/issues/4226)) - Fixes an issue in the Transaction API that caused the SDK to return invalid DocumentReferences through `DocumentSnapshot.data()` calls.
522
523## 2.1.1
524
525### Patch Changes
526
527- [`44b5251d0`](https://github.com/firebase/firebase-js-sdk/commit/44b5251d0527d1aa768959765ff04093a04dd8ab) [#4189](https://github.com/firebase/firebase-js-sdk/pull/4189) (fixes [#4175](https://github.com/firebase/firebase-js-sdk/issues/4175)) - Fixes an issue that prevented the SDK from automatically retrieving custom User claims.
528
529## 2.1.0
530
531### Minor Changes
532
533- [`b662f8c0a`](https://github.com/firebase/firebase-js-sdk/commit/b662f8c0a9890cbdcf53cce7fe01c2a8a52d3d2d) [#4168](https://github.com/firebase/firebase-js-sdk/pull/4168) - Release Firestore Bundles (pre-packaged Firestore data). For NPM users, this can
534 be enabled via an additional import: 'firebase/firestore/bundle'. For CDN usage,
535 it is enabled by default.
536
537* [`1b5407372`](https://github.com/firebase/firebase-js-sdk/commit/1b54073726db8cefd994492d0cfba7c5f619f14b) [#4153](https://github.com/firebase/firebase-js-sdk/pull/4153) - A write to a document that contains FieldValue transforms is no longer split up into two separate operations. This reduces the number of writes the backend performs and allows each WriteBatch to hold 500 writes regardless of how many FieldValue transformations are attached.
538
539### Patch Changes
540
541- Updated dependencies [[`b662f8c0a`](https://github.com/firebase/firebase-js-sdk/commit/b662f8c0a9890cbdcf53cce7fe01c2a8a52d3d2d)]:
542 - @firebase/firestore-types@2.1.0
543
544## 2.0.5
545
546### Patch Changes
547
548- [`1849b0d0f`](https://github.com/firebase/firebase-js-sdk/commit/1849b0d0f0bbca56e50bea01979d20ada58040dc) [#4148](https://github.com/firebase/firebase-js-sdk/pull/4148) - Fixed a bug that prevented usage of FieldPaths with multiple special characters.
549
550* [`8993f16b8`](https://github.com/firebase/firebase-js-sdk/commit/8993f16b81b4b386f2ac5195950235a6a43ed9bc) [#4136](https://github.com/firebase/firebase-js-sdk/pull/4136) (fixes [#4125](https://github.com/firebase/firebase-js-sdk/issues/4125)) - Fixes an issue that returned invalid `DocumentReference`s in `QuerySnapshot`s.
551
552## 2.0.4
553
554### Patch Changes
555
556- [`9822e125c`](https://github.com/firebase/firebase-js-sdk/commit/9822e125c399ae7271d4a9077f82b184a44526e4) [#4078](https://github.com/firebase/firebase-js-sdk/pull/4078) - Fix an issue that prevented `experimentalAutoDetectLongPolling` from working correctly.
557
558- Updated dependencies [[`9822e125c`](https://github.com/firebase/firebase-js-sdk/commit/9822e125c399ae7271d4a9077f82b184a44526e4)]:
559 - @firebase/webchannel-wrapper@0.4.1
560
561## 2.0.3
562
563### Patch Changes
564
565- [`6c6c49ad6`](https://github.com/firebase/firebase-js-sdk/commit/6c6c49ad6b3c3d66e9ecb8397c4ac39bea256e80) [#4053](https://github.com/firebase/firebase-js-sdk/pull/4053) - Internal changes for the upcoming modular API.
566
567* [`e0bf3f70b`](https://github.com/firebase/firebase-js-sdk/commit/e0bf3f70bf82f3587e60ab4484fe37d01cea0051) [#4080](https://github.com/firebase/firebase-js-sdk/pull/4080) (fixes [#4071](https://github.com/firebase/firebase-js-sdk/issues/4071)) - Fixes a regression introduced in v8.0.2 that returned invalid values for `DocumentChange.newIndex`.
568
569## 2.0.2
570
571### Patch Changes
572
573- [`d2adf4e3e`](https://github.com/firebase/firebase-js-sdk/commit/d2adf4e3e69da3a4312828137f9721ea84b87fe2) [#4051](https://github.com/firebase/firebase-js-sdk/pull/4051) - Fixed an issue that caused `DocumentReference`s in `DocumentSnapshot`s to be returned with the custom converter of the original `DocumentReference`.
574
575* [`6dffdf2eb`](https://github.com/firebase/firebase-js-sdk/commit/6dffdf2eb1323ec9047af4ed78302a68f7dacce3) [#3594](https://github.com/firebase/firebase-js-sdk/pull/3594) - Merge bundle loading implementation without exposing public API
576
577- [`484e90a1d`](https://github.com/firebase/firebase-js-sdk/commit/484e90a1d8f63e04268ff5bce4e3e0873c56c8e1) [#4043](https://github.com/firebase/firebase-js-sdk/pull/4043) - Internal changes to support upcoming modular API.
578
579## 2.0.1
580
581### Patch Changes
582
583- [`007ddd1eb`](https://github.com/firebase/firebase-js-sdk/commit/007ddd1eb6be0a66df7b1c3264d8dff8857d8399) [#4030](https://github.com/firebase/firebase-js-sdk/pull/4030) - Internal changes to support upcoming modular API.
584
585- Updated dependencies [[`9cf727fcc`](https://github.com/firebase/firebase-js-sdk/commit/9cf727fcc3d049551b16ae0698ac33dc2fe45ada)]:
586 - @firebase/util@0.3.4
587 - @firebase/component@0.1.21
588
589## 2.0.0
590
591### Major Changes
592
593- [`8939aeca0`](https://github.com/firebase/firebase-js-sdk/commit/8939aeca02921f9eacf1badb1068de22f670293e) [#3944](https://github.com/firebase/firebase-js-sdk/pull/3944) - Removed the undocumented `Firestore.logLevel` property.
594
595* [`344bd8856`](https://github.com/firebase/firebase-js-sdk/commit/344bd88566e2c42fd7ee92f28bb0f784629b48ee) [#3943](https://github.com/firebase/firebase-js-sdk/pull/3943) - Removed depreacted `experimentalTabSynchronization` settings. To enable multi-tab sychronization, use `synchronizeTabs` instead.
596
597- [`4b540f91d`](https://github.com/firebase/firebase-js-sdk/commit/4b540f91dbad217e8ec04b382b4c724308cb3df1) [#3939](https://github.com/firebase/firebase-js-sdk/pull/3939) - This releases removes all input validation. Please use our TypeScript types to validate API usage.
598
599* [`ffef32e38`](https://github.com/firebase/firebase-js-sdk/commit/ffef32e3837d3ee1098129b237e7a6e2e738182d) [#3897](https://github.com/firebase/firebase-js-sdk/pull/3897) (fixes [#3879](https://github.com/firebase/firebase-js-sdk/issues/3879)) - Removed the `timestampsInSnapshots` option from `FirestoreSettings`. Now, Firestore always returns `Timestamp` values for all timestamp values.
600
601### Minor Changes
602
603- [`79b049375`](https://github.com/firebase/firebase-js-sdk/commit/79b04937537b90422e051086112f6b43c2880cdb) [#3909](https://github.com/firebase/firebase-js-sdk/pull/3909) - Add a useEmulator(host, port) method to Firestore
604
605* [`9719635fe`](https://github.com/firebase/firebase-js-sdk/commit/9719635fe2ecbb5b981076ce4807d0df775b8332) [#3960](https://github.com/firebase/firebase-js-sdk/pull/3960) - Removed excess validation of null and NaN values in query filters. This more closely aligns the SDK with the Firestore backend, which has always accepted null and NaN for all operators, even though this isn't necessarily useful.
606
607### Patch Changes
608
609- [`a5768b0aa`](https://github.com/firebase/firebase-js-sdk/commit/a5768b0aa7d7ce732279931aa436e988c9f36487) [#3932](https://github.com/firebase/firebase-js-sdk/pull/3932) - Point browser field to esm build. Now you need to use default import instead of namespace import to import firebase.
610
611 Before this change
612
613 ```
614 import * as firebase from 'firebase/app';
615 ```
616
617 After this change
618
619 ```
620 import firebase from 'firebase/app';
621 ```
622
623- Updated dependencies [[`a5768b0aa`](https://github.com/firebase/firebase-js-sdk/commit/a5768b0aa7d7ce732279931aa436e988c9f36487), [`79b049375`](https://github.com/firebase/firebase-js-sdk/commit/79b04937537b90422e051086112f6b43c2880cdb), [`ffef32e38`](https://github.com/firebase/firebase-js-sdk/commit/ffef32e3837d3ee1098129b237e7a6e2e738182d), [`7d916d905`](https://github.com/firebase/firebase-js-sdk/commit/7d916d905ba16816ac8ac7c8748c83831ff614ce)]:
624 - @firebase/component@0.1.20
625 - @firebase/util@0.3.3
626 - @firebase/firestore-types@2.0.0
627
628## 1.18.0
629
630### Minor Changes
631
632- [`4f997bce1`](https://github.com/firebase/firebase-js-sdk/commit/4f997bce102be272b76836b6bcba96ea7de857bc) [#3724](https://github.com/firebase/firebase-js-sdk/pull/3724) - Adds a new `experimentalAutoDetectLongPolling` to FirestoreSettings. When
633 enabled, the SDK's underlying transport (WebChannel) automatically detects if
634 long-polling should be used. This is very similar to
635 `experimentalForceLongPolling`, but only uses long-polling if required.
636
637### Patch Changes
638
639- [`2bea0a367`](https://github.com/firebase/firebase-js-sdk/commit/2bea0a367da8de06bae29e1459b7cbe3cdfde540) [#3919](https://github.com/firebase/firebase-js-sdk/pull/3919) - Fixed a potential issue in our internal queue that could have allowed API calls to be executed out of order.
640
641- Updated dependencies [[`4f997bce1`](https://github.com/firebase/firebase-js-sdk/commit/4f997bce102be272b76836b6bcba96ea7de857bc)]:
642 - @firebase/firestore-types@1.14.0
643 - @firebase/webchannel-wrapper@0.4.0
644
645## 1.17.3
646
647### Patch Changes
648
649- [`a10c18f89`](https://github.com/firebase/firebase-js-sdk/commit/a10c18f8996fc35942779f5fea5690ae5d102bb0) [#3871](https://github.com/firebase/firebase-js-sdk/pull/3871) - The SDK now include more information in the error message for failed IndexedDB transactions.
650
651## 1.17.2
652
653### Patch Changes
654
655- [`2be43eadf`](https://github.com/firebase/firebase-js-sdk/commit/2be43eadf756e45da7ad3ae7ba104ac5f0e557fa) [#3864](https://github.com/firebase/firebase-js-sdk/pull/3864) - Internal changes to support upcoming modular API.
656
657## 1.17.1
658
659### Patch Changes
660
661- [`4dc8817c3`](https://github.com/firebase/firebase-js-sdk/commit/4dc8817c3faf172152a5b1e7778d0ce844510f97) [#3821](https://github.com/firebase/firebase-js-sdk/pull/3821) - Fixes an issue that prevents `waitForPendingWrites()` from resolving in background tabs when multi-tab is used (https://github.com/firebase/firebase-js-sdk/issues/3816).
662
663* [`16c6ba979`](https://github.com/firebase/firebase-js-sdk/commit/16c6ba9793681f1695f855f22a19a618ceface5f) [#3820](https://github.com/firebase/firebase-js-sdk/pull/3820) (fixes [#3814](https://github.com/firebase/firebase-js-sdk/issues/3814)) - Fixes a "Comparison with -0" lint warning for customers that build from source.
664
665## 1.17.0
666
667### Minor Changes
668
669- [`f9004177e`](https://github.com/firebase/firebase-js-sdk/commit/f9004177e76f00fc484d30c0c0e7b1bc2da033f9) [#3772](https://github.com/firebase/firebase-js-sdk/pull/3772) - [feature] Added `not-in` and `!=` query operators for use with `.where()`. `not-in` finds documents where a specified field’s value is not in a specified array. `!=` finds documents where a specified field's value does not equal the specified value. Neither query operator will match documents where the specified field is not present.
670
671* [`a8ff3dbaa`](https://github.com/firebase/firebase-js-sdk/commit/a8ff3dbaacd06371e6652a6d639ef2d9bead612b) [#3418](https://github.com/firebase/firebase-js-sdk/pull/3418) - Use FirestoreError instead of Error in onSnapshot\*() error callbacks.
672
673### Patch Changes
674
675- [`e81c429ae`](https://github.com/firebase/firebase-js-sdk/commit/e81c429aec43cd4467089bfed68eafafba6e8ee2) [#3755](https://github.com/firebase/firebase-js-sdk/pull/3755) (fixes [#3742](https://github.com/firebase/firebase-js-sdk/issues/3742)) - Fixed a bug where CollectionReference.add() called FirestoreDataConverter.toFirestore() twice intead of once (#3742).
676
677- Updated dependencies [[`f9004177e`](https://github.com/firebase/firebase-js-sdk/commit/f9004177e76f00fc484d30c0c0e7b1bc2da033f9), [`a8ff3dbaa`](https://github.com/firebase/firebase-js-sdk/commit/a8ff3dbaacd06371e6652a6d639ef2d9bead612b)]:
678 - @firebase/firestore-types@1.13.0
679
680## 1.16.7
681
682### Patch Changes
683
684- [`249d40cb6`](https://github.com/firebase/firebase-js-sdk/commit/249d40cb692366f686a50c06c44ec81e4cae23d7) [#3700](https://github.com/firebase/firebase-js-sdk/pull/3700) - Fixes a bug that caused the client to not raise snapshots from cache if a user change happened while the network connection was disabled.
685
686- Updated dependencies [[`da1c7df79`](https://github.com/firebase/firebase-js-sdk/commit/da1c7df7982b08bbef82fcc8d93255f3e2d23cca), [`fb3b095e4`](https://github.com/firebase/firebase-js-sdk/commit/fb3b095e4b7c8f57fdb3172bc039c84576abf290)]:
687 - @firebase/component@0.1.19
688 - @firebase/util@0.3.2
689
690## 1.16.6
691
692### Patch Changes
693
694- [`61b4cd31b`](https://github.com/firebase/firebase-js-sdk/commit/61b4cd31b961c90354be38b18af5fbea9da8d5a3) [#3464](https://github.com/firebase/firebase-js-sdk/pull/3464) (fixes [#3354](https://github.com/firebase/firebase-js-sdk/issues/3354)) - feat: Added `merge` option to `firestore.settings()`, which merges the provided settings with
695 settings from a previous call. This allows adding settings on top of the settings that were applied
696 by `@firebase/testing`.
697- Updated dependencies [[`61b4cd31b`](https://github.com/firebase/firebase-js-sdk/commit/61b4cd31b961c90354be38b18af5fbea9da8d5a3)]:
698 - @firebase/firestore-types@1.12.1
699
700## 1.16.5
701
702### Patch Changes
703
704- [`960093d5b`](https://github.com/firebase/firebase-js-sdk/commit/960093d5b3ada866709c1a51b4ca175c3a01f1f3) [#3575](https://github.com/firebase/firebase-js-sdk/pull/3575) (fixes [#2755](https://github.com/firebase/firebase-js-sdk/issues/2755)) - `terminate()` can now be retried if it fails with an IndexedDB exception.
705
706* [`b97c7e758`](https://github.com/firebase/firebase-js-sdk/commit/b97c7e758b1e2a370cb72a7aac14c17a54531a36) [#3487](https://github.com/firebase/firebase-js-sdk/pull/3487) - Enable fallback for auto-generated identifiers in environments that support `crypto` but not `crypto.getRandomValues`.
707
708## 1.16.4
709
710### Patch Changes
711
712- [`36be62a8`](https://github.com/firebase/firebase-js-sdk/commit/36be62a85c3cc47c15c9a59f20cdfcd7d0a72ad9) [#3535](https://github.com/firebase/firebase-js-sdk/pull/3535) (fixes [#3495](https://github.com/firebase/firebase-js-sdk/issues/3495)) - The SDK no longer crashes with the error "The database connection is closing". Instead, the individual operations that cause this error may be rejected.
713
714* [`68995c24`](https://github.com/firebase/firebase-js-sdk/commit/68995c2422a479d42b9c972bab3da4d544b9f002) [#3586](https://github.com/firebase/firebase-js-sdk/pull/3586) - Fixed a bug that caused slow retries for IndexedDB operations even when a webpage re-entered the foreground.
715
716* Updated dependencies [[`d4ca3da0`](https://github.com/firebase/firebase-js-sdk/commit/d4ca3da0a59fcea1261ba69d7eb663bba38d3089)]:
717 - @firebase/util@0.3.1
718 - @firebase/component@0.1.18
719
720## 1.16.3
721
722### Patch Changes
723
724- Updated dependencies [[`7f0860a4`](https://github.com/firebase/firebase-js-sdk/commit/7f0860a4ced76da8492ae44d2267a2f1cc58eccb)]:
725 - @firebase/webchannel-wrapper@0.3.0
726
727## 1.16.2
728
729### Patch Changes
730
731- Updated dependencies [[`a87676b8`](https://github.com/firebase/firebase-js-sdk/commit/a87676b84b78ccc2f057a22eb947a5d13402949c)]:
732 - @firebase/util@0.3.0
733 - @firebase/component@0.1.17
734
735## 1.16.1
736
737### Patch Changes
738
739- [`5a355360`](https://github.com/firebase/firebase-js-sdk/commit/5a3553609da893d45f7fe1897387f72eaedf2fe0) [#3162](https://github.com/firebase/firebase-js-sdk/pull/3162) Thanks [@schmidt-sebastian](https://github.com/schmidt-sebastian)! - The SDK no longer crashes if an IndexedDB failure occurs when unsubscribing from a Query.
740
741* [`9a9a81fe`](https://github.com/firebase/firebase-js-sdk/commit/9a9a81fe4f001f23e9fe1db054c2e7159fca3ae3) [#3279](https://github.com/firebase/firebase-js-sdk/pull/3279) Thanks [@schmidt-sebastian](https://github.com/schmidt-sebastian)! - [fixed] Removed a delay that may have prevented Firestore from immediately
742 reestablishing a network connection if a connectivity change occurred while
743 the app was in the background.
744
745## 1.16.0
746
747### Minor Changes
748
749- [`39ca8ecf`](https://github.com/firebase/firebase-js-sdk/commit/39ca8ecf940472159d0bc58212f34a70146da60c) [#3254](https://github.com/firebase/firebase-js-sdk/pull/3254) Thanks [@thebrianchen](https://github.com/thebrianchen)! - Added support for `set()` with merge options when using `FirestoreDataConverter`.
750
751* [`877c060c`](https://github.com/firebase/firebase-js-sdk/commit/877c060c47bb29a8efbd2b96d35d3334fd9d9a98) [#3251](https://github.com/firebase/firebase-js-sdk/pull/3251) Thanks [@schmidt-sebastian](https://github.com/schmidt-sebastian)! - Re-adding the ReactNative bundle, which allows Firestore to be used without `btoa`/`atob` Polyfills.
752
753### Patch Changes
754
755- [`a754645e`](https://github.com/firebase/firebase-js-sdk/commit/a754645ec2be1b8c205f25f510196eee298b0d6e) [#3297](https://github.com/firebase/firebase-js-sdk/pull/3297) Thanks [@renovate](https://github.com/apps/renovate)! - Update dependency typescript to v3.9.5
756
757* [`e90304c8`](https://github.com/firebase/firebase-js-sdk/commit/e90304c8ac4341d8b23b55da784eb21348b04025) [#3309](https://github.com/firebase/firebase-js-sdk/pull/3309) Thanks [@schmidt-sebastian](https://github.com/schmidt-sebastian)! - Removed internal wrapper around our public API that was meant to prevent incorrect SDK usage for JavaScript users, but caused our SDK to stop working in IE11.
758
759* Updated dependencies [[`a754645e`](https://github.com/firebase/firebase-js-sdk/commit/a754645ec2be1b8c205f25f510196eee298b0d6e), [`39ca8ecf`](https://github.com/firebase/firebase-js-sdk/commit/39ca8ecf940472159d0bc58212f34a70146da60c)]:
760 - @firebase/component@0.1.16
761 - @firebase/logger@0.2.6
762 - @firebase/firestore-types@1.12.0
763* [fixed] Fixed an issue that may have prevented the client from connecting
764 to the backend immediately after a user signed in.
765
766## 1.15.0
767
768- [feature] Added an `experimentalForceOwningTab` setting that can be used to
769 enable persistence in environments without LocalStorage, which allows
770 persistence to be used in Web Workers (#983).
771- [changed] All known failure cases for Indexed-related crashes have now been
772 addressed. Instead of crashing the client, IndexedDB failures will result
773 in rejected operations (e.g. rejected Writes or errored Query listeners).
774 If these rejections surface in your app, you can retry these operations
775 when IndexedDB access is restored.
776 IndexedDB failures that occur due to background work are automatically
777 retried.
778
779 If you continue to see Indexed-related crashes, we appreciate feedback
780 (https://github.com/firebase/firebase-js-sdk/issues/2755).
781
782## 1.14.6
783
784- [fixed] Fixed an issue that could cause Firestore to temporarily go
785 offline when a Window visibility event occurred.
786- [feature] Added support for calling `FirebaseFiresore.settings` with
787 `{ ignoreUndefinedProperties: true }`. When set, Firestore ignores
788 undefined properties inside objects rather than rejecting the API call.
789
790## 1.14.4
791
792- [fixed] Fixed a regression introduced in v7.14.2 that incorrectly applied
793 a `FieldValue.increment` in combination with `set({...}, {merge: true})`.
794
795## 1.14.3
796
797- [fixed] Firestore now rejects `onSnapshot()` listeners if they cannot be
798 registered in IndexedDB. Previously, these errors crashed the client.
799
800## 1.14.2
801
802- [fixed] Firestore now rejects write operations if they cannot be persisted
803 in IndexedDB. Previously, these errors crashed the client.
804- [fixed] Fixed a source of IndexedDB-related crashes for tabs that receive
805 multi-tab notifications while the file system is locked.
806
807## 1.10.2
808
809- [fixed] Temporarily reverted the use of window.crypto to generate document
810 IDs to address compatibility issues with IE 11, WebWorkers, and React Native.
811- [changed] Firestore now limits the number of concurrent document lookups it
812 will perform when resolving inconsistencies in the local cache (#2683).
813- [changed] Changed the in-memory representation of Firestore documents to
814 reduce memory allocations and improve performance. Calls to
815 `DocumentSnapshot.getData()` and `DocumentSnapshot.toObject()` will see
816 the biggest improvement.
817
818## 1.10.1
819
820- [fixed] Fixed an issue where the number value `-0.0` would lose its sign when
821 stored in Firestore.
822
823## 1.10.0
824
825- [feature] Implemented `Timestamp.valueOf()` so that `Timestamp` objects can be
826 compared for relative ordering using the JavaScript arithmetic comparison
827 operators (#2632).
828- [fixed] Fixed an issue where auth credentials were not respected in Cordova
829 environments (#2626).
830- [fixed] Fixed a performance regression introduced by the addition of
831 `Query.limitToLast(n: number)` in Firestore 1.7.0 (Firebase 7.3.0) (#2620).
832- [fixed] Fixed an issue where `CollectionReference.add()` would reject
833 custom types when using `withConverter()` (#2606).
834
835## 1.9.3
836
837- [fixed] Fixed an issue where auth credentials were not respected in some
838 Firefox or Chrome extensions. (#1491)
839- [changed] Firestore previously required that every document read in a
840 transaction must also be written. This requirement has been removed, and
841 you can now read a document in transaction without writing to it.
842
843## 1.9.2
844
845- [fixed] Fixed an issue where auth credentials were not respected in certain
846 browser environments (Electron 7, IE11 in trusted zone, UWP apps). (#1491)
847
848## 1.9.0
849
850- [feature] Added support for storing and retrieving custom types in Firestore.
851 Added support for strongly typed collections, documents, and
852 queries. You can now use `withConverter()` to supply a custom data
853 converter that will convert between Firestore data and your custom type.
854
855## 1.8.0
856
857- [changed] Improved the performance of repeatedly executed queries when
858 persistence is enabled. Recently executed queries should see dramatic
859 improvements. This benefit is reduced if changes accumulate while the query
860 is inactive. Queries that use the `limit()` API may not always benefit,
861 depending on the accumulated changes.
862
863## 1.7.0
864
865- [changed] The client can now recover if certain periodic IndexedDB operations
866 fail.
867- [feature] Added `in` and `array-contains-any` query operators for use with
868 `.where()`. `in` finds documents where a specified field’s value is IN a
869 specified array. `array-contains-any` finds documents where a specified field
870 is an array and contains ANY element of a specified array.
871- [feature] Added `Query.limitToLast(n: number)` , which returns the last
872 `n` documents as the result.
873
874## 1.6.3
875
876- [changed] Improved iOS 13 support by eliminating an additional crash in our
877 IndexedDB persistence layer.
878
879## 1.6.2
880
881- [changed] Fixed a crash on iOS 13 that occurred when persistence was enabled
882 in a background tab (#2232).
883- [fixed] Fixed an issue in the interaction with the Firestore Emulator that
884 caused requests with timestamps to fail.
885
886## 1.6.0
887
888- [feature] Added a `Firestore.onSnapshotsInSync()` method that notifies you
889 when all your snapshot listeners are in sync with each other.
890- [fixed] Fixed a regression that caused queries with nested field filters to
891 crash the client if the field was not present in the local copy of the
892 document.
893
894## 1.5.0
895
896- [feature] Added a `Firestore.waitForPendingWrites()` method that
897 allows users to wait until all pending writes are acknowledged by the
898 Firestore backend.
899- [feature] Added a `Firestore.terminate()` method which terminates
900 the instance, releasing any held resources. Once it completes, you can
901 optionally call `Firestore.clearPersistence()` to wipe persisted Firestore
902 data from disk.
903- [changed] Improved performance for queries with filters that only return a
904 small subset of the documents in a collection.
905- [fixed] Fixed a race condition between authenticating and initializing
906 Firestore that could result in initial writes to the database being dropped.
907
908## 1.4.10
909
910- [changed] Transactions now perform exponential backoff before retrying.
911 This means transactions on highly contended documents are more likely to
912 succeed.
913
914## 1.4.6
915
916- [changed] Transactions are now more flexible. Some sequences of operations
917 that were previously incorrectly disallowed are now allowed. For example,
918 after reading a document that doesn't exist, you can now set it multiple
919 times successfully in a transaction.
920
921## 1.4.5
922
923- [fixed] Fixed an issue where query results were temporarily missing
924 documents that previously had not matched but had been updated to now
925 match the query (https://github.com/firebase/firebase-android-sdk/issues/155).
926
927## 1.4.4
928
929- [fixed] Fixed an internal assertion that was triggered when an update
930 with a `FieldValue.serverTimestamp()` and an update with a
931 `FieldValue.increment()` were pending for the same document.
932
933## 1.4.0
934
935- [changed] Added logging and a custom error message to help users hitting
936 https://bugs.webkit.org/show_bug.cgi?id=197050 (a bug in iOS 12.2 causing
937 the SDK to potentially crash when persistence is enabled).
938- [fixed] Fixed an issue for environments missing `window.addEventListener`,
939 such as in React Native with Expo (#1824).
940
941## 1.3.5
942
943- [feature] Added `clearPersistence()`, which clears the persistent storage
944 including pending writes and cached documents. This is intended to help
945 write reliable tests (#449).
946
947## 1.3.3
948
949- [changed] Firestore now recovers more quickly after network connectivity
950 changes (airplane mode, Wi-Fi availability, etc.).
951
952## 1.3.0
953
954- [changed] Deprecated the `experimentalTabSynchronization` setting in favor of
955 `synchronizeTabs`. If you use multi-tab synchronization, it is recommended
956 that you update your call to `enablePersistence()`. Firestore logs an error
957 if you continue to use `experimentalTabSynchronization`.
958- [feature] You can now query across all collections in your database with a
959 given collection ID using the `FirebaseFirestore.collectionGroup()` method.
960
961## 1.1.4
962
963- [feature] Added an `experimentalForceLongPolling` setting that that can be
964 used to work around proxies that prevent the Firestore client from connecting
965 to the Firestore backend.
966
967## 1.1.1
968
969- [changed] Increased a connection timeout that could lead to large writes
970 perputually retrying without ever succeeding (#1447).
971- [fixed] Fixed an issue with IndexedDb persistence that triggered an internal
972 assert for Queries that use nested DocumentReferences in where() clauses
973 (#1524, #1596).
974- [fixed] Fixed an issue where transactions in a Node.JS app could be sent
975 without auth credentials, leading to Permission Denied errors.
976
977## 1.1.0
978
979- [feature] Added `FieldValue.increment()`, which can be used in `update()`
980 and `set(..., {merge:true})` to increment or decrement numeric field
981 values safely without transactions.
982- [changed] Prepared the persistence layer to support collection group queries.
983 While this feature is not yet available, all schema changes are included
984 in this release. Once you upgrade, you will not be able to use an older version
985 of the Firestore SDK with persistence enabled.
986
987## 1.0.5
988
989- [changed] Improved performance when querying over documents that contain
990 subcollections.
991
992## 1.0.4
993
994- [fixed] Fixed an uncaught promise error occurring when `enablePersistence()`
995 was called in a second tab (#1531).
996
997## 1.0.0
998
999- [changed] The `timestampsInSnapshots` setting is now enabled by default.
1000 Timestamp fields that read from a `DocumentSnapshot` are now returned as
1001 `Timestamp` objects instead of `Date` objects. This is a breaking change;
1002 developers must update any code that expects to receive a `Date` object. See
1003 https://firebase.google.com/docs/reference/js/firebase.firestore.Settings#~timestampsInSnapshots
1004 for more details.
1005- [fixed] Fixed a crash that could happen when the app is shut down after
1006 a write has been sent to the server but before it has been received on
1007 a listener.
1008
1009## 0.9.2
1010
1011- [fixed] Fixed a regression introduced in 5.7.0 that caused apps using
1012 experimentalTabSynchronization to hit an exception for "Failed to obtain
1013 primary lease for action 'Collect garbage'".
1014
1015## 0.9.1
1016
1017- [changed] Added a custom error for schema downgrades.
1018
1019## 0.9.0
1020
1021- [changed] Removed eval()-based fallback for JSON parsing, allowing SDK to
1022 be used in environments that prohibit eval().
1023- [feature] Added a garbage collection process to on-disk persistence that
1024 removes older documents. This is enabled automatically if persistence is
1025 enabled, and the SDK will attempt to periodically clean up older, unused
1026 documents once the on-disk cache passes a threshold size (default: 40 MB).
1027 This threshold can be configured by changing the setting `cacheSizeBytes` in
1028 the settings passed to `Firestore.settings()`. It must be set to a minimum of
1029 1 MB. The garbage collection process can be disabled entirely by setting
1030 `cacheSizeBytes` to `CACHE_SIZE_UNLIMITED`.
1031
1032## 0.8.3
1033
1034- [fixed] Fixed an issue that prevented query synchronization between multiple
1035 tabs.
1036
1037## 0.8.2
1038
1039- [fixed] Fixed an issue where native ES6 module loading was not working.
1040
1041## 0.8.1
1042
1043- [fixed] Fixed an issue where typings are created in the wrong location.
1044
1045## 0.8.0
1046
1047- [feature] Access to offline persistence is no longer limited to a single tab.
1048 You can opt into this new experimental mode by invoking `enablePersistence()`
1049 with `{experimentalTabSynchronization: true}`. All tabs accessing persistence
1050 must use the same setting for this flag.
1051- [fixed] Fixed an issue where the first `get()` call made after being offline
1052 could incorrectly return cached data without attempting to reach the backend.
1053- [changed] Changed `get()` to only make one attempt to reach the backend before
1054 returning cached data, potentially reducing delays while offline.
1055- [fixed] Fixed an issue that caused Firebase to drop empty objects from calls
1056 to `set(..., { merge: true })`.
1057- [changed] Improved argument validation for several API methods.
1058
1059## 0.7.3
1060
1061- [changed] Changed the internal handling for locally updated documents that
1062 haven't yet been read back from Firestore. This can lead to slight behavior
1063 changes and may affect the `SnapshotMetadata.hasPendingWrites` metadata flag.
1064- [changed] Eliminated superfluous update events for locally cached documents
1065 that are known to lag behind the server version. Instead, we buffer these
1066 events until the client has caught up with the server.
1067
1068## 0.7.2
1069
1070- [fixed] Fixed a regression that prevented use of Firestore on ReactNative's
1071 Expo platform (#1138).
1072
1073## 0.7.0
1074
1075- [fixed] Fixed `get({source: 'cache'})` to be able to return nonexistent
1076 documents from cache.
1077- [changed] Prepared the persistence layer to allow shared access from multiple
1078 tabs. While this feature is not yet available, all schema changes are included
1079 in this release. Once you upgrade, you will not be able to use an older version
1080 of the Firestore SDK with persistence enabled.
1081- [fixed] Fixed an issue where changes to custom authentication claims did not
1082 take effect until you did a full sign-out and sign-in.
1083 (firebase/firebase-ios-sdk#1499)
1084
1085## 0.6.1
1086
1087- [changed] Improved how Firestore handles idle queries to reduce the cost of
1088 re-listening within 30 minutes.
1089- [changed] Improved offline performance with many outstanding writes.
1090
1091## 0.6.0
1092
1093- [fixed] Fixed an issue where queries returned fewer results than they should,
1094 caused by documents that were cached as deleted when they should not have
1095 been (firebase/firebase-ios-sdk#1548). Because some cache data is cleared,
1096 clients might use extra bandwidth the first time they launch with this
1097 version of the SDK.
1098- [feature] Added `firebase.firestore.FieldValue.arrayUnion()` and
1099 `firebase.firestore.FieldValue.arrayRemove()` to atomically add and remove
1100 elements from an array field in a document.
1101- [feature] Added `'array-contains'` query operator for use with `.where()` to
1102 find documents where an array field contains a specific element.
1103
1104## 0.5.0
1105
1106- [changed] Merged the `includeQueryMetadataChanges` and
1107 `includeDocumentMetadataChanges` options passed to `Query.onSnapshot()` into
1108 a single `includeMetadataChanges` option.
1109- [changed] `QuerySnapshot.docChanges()` is now a method that optionally takes
1110 an `includeMetadataChanges` option. By default, even when listening to a query
1111 with `{ includeMetadataChanges:true }`, metadata-only document changes are
1112 suppressed in `docChanges()`.
1113- [feature] Added new `{ mergeFields: (string|FieldPath)[] }` option to `set()`
1114 which allows merging of a reduced subset of fields.
1115
1116## 0.4.1
1117
1118- [fixed] Fixed a regression in Firebase JS release 4.13.0 regarding the
1119 loading of proto files, causing Node.JS support to break.
1120
1121## 0.4.0
1122
1123- [feature] Added a new `Timestamp` class to represent timestamp fields,
1124 currently supporting up to microsecond precision. It can be passed to API
1125 methods anywhere a JS Date object is currently accepted. To make
1126 `DocumentSnapshot`s read timestamp fields back as `Timestamp`s instead of
1127 Dates, you can set the newly added flag `timestampsInSnapshots` in
1128 `FirestoreSettings` to `true`. Note that the current behavior
1129 (`DocumentSnapshot`s returning JS Date objects) will be removed in a future
1130 release. `Timestamp` supports higher precision than JS Date.
1131- [feature] Added ability to control whether DocumentReference.get() and
1132 Query.get() should fetch from server only, (by passing { source: 'server' }),
1133 cache only (by passing { source: 'cache' }), or attempt server and fall back
1134 to the cache (which was the only option previously, and is now the default).
1135
1136## 0.3.7
1137
1138- [fixed] Fixed a regression in the Firebase JS release 4.11.0 that could
1139 cause get() requests made while offline to be delayed by up to 10
1140 seconds (rather than returning from cache immediately).
1141
1142# 0.3.6
1143
1144- [fixed] Fixed a regression in the Firebase JS release 4.11.0 that could
1145 cause a crash if a user signs out while the client is offline, resulting in
1146 an error of "Attempted to schedule multiple operations with timer id
1147 listen_stream_connection_backoff".
1148
1149## 0.3.5
1150
1151- [changed] If the SDK's attempt to connect to the Cloud Firestore backend
1152 neither succeeds nor fails within 10 seconds, the SDK will consider itself
1153 "offline", causing get() calls to resolve with cached results, rather than
1154 continuing to wait.
1155- [fixed] Fixed a potential race condition after calling `enableNetwork()` that
1156 could result in a "Mutation batchIDs must be acknowledged in order" assertion
1157 crash.
1158
1159## 0.3.2
1160
1161- [fixed] Fixed a regression in Firebase JS release 4.9.0 that could in certain
1162 cases result in an "OnlineState should not affect limbo documents." assertion
1163 crash when the client loses its network connection.
1164
1165## 0.3.1
1166
1167- [changed] Snapshot listeners (with the `includeMetadataChanges` option
1168 enabled) now receive an event with `snapshot.metadata.fromCache` set to
1169 `true` if the SDK loses its connection to the backend. A new event with
1170 `snapshot.metadata.fromCache` set to false will be raised once the
1171 connection is restored and the query is in sync with the backend again.
1172- [feature] Added `SnapshotOptions` API to control how DocumentSnapshots
1173 return unresolved server timestamps.
1174- [feature] Added `disableNetwork()` and `enableNetwork()` methods to
1175 `Firestore` class, allowing for explicit network management.
1176- [changed] For non-existing documents, `DocumentSnapshot.data()` now returns
1177 `undefined` instead of throwing an exception. A new
1178 `QueryDocumentSnapshot` class is introduced for Queries to reduce the number
1179 of undefined-checks in your code.
1180- [added] Added `isEqual` API to `GeoPoint`, `Blob`, `SnapshotMetadata`,
1181 `DocumentSnapshot`, `QuerySnapshot`, `CollectionReference`, `FieldValue`
1182 and `FieldPath`.
1183- [changed] A "Could not reach Firestore backend." message will be
1184 logged when the initial connection to the Firestore backend fails.
1185- [changed] A "Using maximum backoff delay to prevent overloading the
1186 backend." message will be logged when we get a resource-exhausted
1187 error from the backend.
1188
1189## v0.2.1
1190
1191- [feature] Added Node.js support for Cloud Firestore (with the exception of
1192 the offline persistence feature).
1193- [changed] Webchannel requests use \$httpHeaders URL parameter rather than
1194 normal HTTP headers to avoid an extra CORS preflight request when initiating
1195 streams / RPCs.
1196
1197## v0.1.4
1198
1199- [changed] Network streams are automatically closed after 60 seconds of
1200 idleness.
1201- [changed] We no longer log 'RPC failed' messages for expected failures.
1202
1203## v0.1.2
1204
1205- [changed] We now support `FieldValue.delete()` sentinels in `set()` calls
1206 with `{merge:true}`.
1207- [fixed] Fixed validation of nested arrays to allow indirect nesting
1208
1209## v0.1.1
1210
1211- [fixed] Fixed an issue causing exceptions when trying to use
1212 `firebase.firestore.FieldPath.documentId()` in an `orderBy()` or `where()`
1213 clause in a query.
1214
1215## v0.1.0
1216
1217- Initial public release.
1218
\No newline at end of file