UNPKG

70.3 kBMarkdownView Raw
1# @firebase/firestore
2
3## 3.8.3
4
5### Patch Changes
6
7- [`d071bd1ac`](https://github.com/firebase/firebase-js-sdk/commit/d071bd1acaa0583b4dd3454387fc58eafddb5c30) [#7007](https://github.com/firebase/firebase-js-sdk/pull/7007) (fixes [#7005](https://github.com/firebase/firebase-js-sdk/issues/7005)) - Move exports.default fields to always be the last field. This fixes a bug caused in 9.17.0 that prevented some bundlers and frameworks from building.
8
9- Updated dependencies [[`d071bd1ac`](https://github.com/firebase/firebase-js-sdk/commit/d071bd1acaa0583b4dd3454387fc58eafddb5c30)]:
10 - @firebase/util@1.9.2
11 - @firebase/component@0.6.3
12
13## 3.8.2
14
15### Patch Changes
16
17- [`0bab0b7a7`](https://github.com/firebase/firebase-js-sdk/commit/0bab0b7a786d1563bf665904c7097d1fe06efce5) [#6981](https://github.com/firebase/firebase-js-sdk/pull/6981) - Added browser CJS entry points (expected by Jest when using JSDOM mode).
18
19- [`27b5e7d70`](https://github.com/firebase/firebase-js-sdk/commit/27b5e7d7081688599fc518b329a43db4319cdd1f) [#6989](https://github.com/firebase/firebase-js-sdk/pull/6989) - Reduce memory usage by applying query check sooner in remote document cache.
20
21- Updated dependencies [[`0bab0b7a7`](https://github.com/firebase/firebase-js-sdk/commit/0bab0b7a786d1563bf665904c7097d1fe06efce5)]:
22 - @firebase/util@1.9.1
23 - @firebase/component@0.6.2
24
25## 3.8.1
26
27### Patch Changes
28
29- [`a7622d49f`](https://github.com/firebase/firebase-js-sdk/commit/a7622d49f8a69bcdfb95b89dd1609a5c495fd529) [#6896](https://github.com/firebase/firebase-js-sdk/pull/6896) - Update canonifyFilter to compute the canonization for flat conjunctions the same as implicit AND queries.
30
31- [`1455bfa43`](https://github.com/firebase/firebase-js-sdk/commit/1455bfa4393383ab461de35ccbc2b171f92169df) [#6893](https://github.com/firebase/firebase-js-sdk/pull/6893) - Fix an issue that stops some performance optimization being applied.
32
33- [`37f31c57b`](https://github.com/firebase/firebase-js-sdk/commit/37f31c57b62bc6486bc08d9e5c64e2c32d25cb0a) [#6879](https://github.com/firebase/firebase-js-sdk/pull/6879) (fixes [#6851](https://github.com/firebase/firebase-js-sdk/issues/6851)) - Fix documentation for getDocsFromCache.
34
35- Updated dependencies [[`d4114a4f7`](https://github.com/firebase/firebase-js-sdk/commit/d4114a4f7da3f469c0c900416ac8beee58885ec3), [`06dc1364d`](https://github.com/firebase/firebase-js-sdk/commit/06dc1364d7560f4c563e1ccc89af9cad4cd91df8)]:
36 - @firebase/util@1.9.0
37 - @firebase/component@0.6.1
38
39## 3.8.0
40
41### Minor Changes
42
43- [`ab3f16cba`](https://github.com/firebase/firebase-js-sdk/commit/ab3f16cbabc420fab0a322a21c9e28d3cbed4f24) [#6796](https://github.com/firebase/firebase-js-sdk/pull/6796) - Upgrade TypeScript to 4.7.4 (was 4.2.2)
44
45- [`fde5adf63`](https://github.com/firebase/firebase-js-sdk/commit/fde5adf638dae4714ff7f25c75e475344907e05e) [#6694](https://github.com/firebase/firebase-js-sdk/pull/6694) - Functions in the Firestore package that return QueryConstraints (for example: `where(...)`, `limit(...)`, and `orderBy(...)`)
46 now return a more specific type, which extends QueryConstraint. Refactoring and code that supports future features is also
47 included in this release.
48
49### Patch Changes
50
51- Updated dependencies [[`c20633ed3`](https://github.com/firebase/firebase-js-sdk/commit/c20633ed35056cbadc9d65d9ceddf4e28d1ea666), [`1625f7a95`](https://github.com/firebase/firebase-js-sdk/commit/1625f7a95cc3ffb666845db0a8044329be74b5be)]:
52 - @firebase/util@1.8.0
53 - @firebase/component@0.6.0
54 - @firebase/logger@0.4.0
55 - @firebase/webchannel-wrapper@0.9.0
56
57## 3.7.3
58
59### Patch Changes
60
61- [`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.
62
63- [`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.
64
65## 3.7.2
66
67### Patch Changes
68
69- [`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.
70
71- Updated dependencies [[`4af28c1a4`](https://github.com/firebase/firebase-js-sdk/commit/4af28c1a42bd25ce2353f694ca1724c6101cbce5)]:
72 - @firebase/component@0.5.21
73 - @firebase/logger@0.3.4
74 - @firebase/util@1.7.3
75 - @firebase/webchannel-wrapper@0.8.1
76
77## 3.7.1
78
79### Patch Changes
80
81- Updated dependencies [[`807f06aa2`](https://github.com/firebase/firebase-js-sdk/commit/807f06aa26438a91aaea08fd38efb6c706bb8a5d)]:
82 - @firebase/util@1.7.2
83 - @firebase/component@0.5.20
84
85## 3.7.0
86
87### Minor Changes
88
89- [`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.
90
91### Patch Changes
92
93- [`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
94
95* [`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.
96
97* 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)]:
98 - @firebase/webchannel-wrapper@0.8.0
99 - @firebase/util@1.7.1
100 - @firebase/component@0.5.19
101
102## 3.6.0
103
104### Minor Changes
105
106- [`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.
107
108* [`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.
109
110### Patch Changes
111
112- [`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.
113
114* [`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
115
116* Updated dependencies [[`fdd4ab464`](https://github.com/firebase/firebase-js-sdk/commit/fdd4ab464b59a107bdcc195df3f01e32efd89ed4)]:
117 - @firebase/util@1.7.0
118 - @firebase/component@0.5.18
119
120## 3.5.0
121
122### Minor Changes
123
124- [`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.
125
126 Requires Cloud Firestore Emulator v1.14.4 or newer.
127
128### Patch Changes
129
130- Updated dependencies [[`7c0c640a4`](https://github.com/firebase/firebase-js-sdk/commit/7c0c640a446c729ac66fec27dfd77d6398a468db)]:
131 - @firebase/webchannel-wrapper@0.7.0
132
133## 3.4.15
134
135### Patch Changes
136
137- [`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)
138
139## 3.4.14
140
141### Patch Changes
142
143- [`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
144
145* [`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`.
146
147## 3.4.13
148
149### Patch Changes
150
151- [`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.
152
153## 3.4.12
154
155### Patch Changes
156
157- [`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.
158
159- Updated dependencies [[`b12af44a5`](https://github.com/firebase/firebase-js-sdk/commit/b12af44a5c7500e1192d6cc1a4afc4d77efadbaf)]:
160 - @firebase/util@1.6.3
161 - @firebase/component@0.5.17
162
163## 3.4.11
164
165### Patch Changes
166
167- Updated dependencies [[`efe2000fc`](https://github.com/firebase/firebase-js-sdk/commit/efe2000fc499e2c85c4e5e0fef6741ff3bad2eb0)]:
168 - @firebase/util@1.6.2
169 - @firebase/component@0.5.16
170
171## 3.4.10
172
173### Patch Changes
174
175- [`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
176
177* [`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
178
179* Updated dependencies [[`2cd1cc76f`](https://github.com/firebase/firebase-js-sdk/commit/2cd1cc76f2a308135cd60f424fe09084a34b5cb5)]:
180 - @firebase/component@0.5.15
181 - @firebase/logger@0.3.3
182 - @firebase/util@1.6.1
183 - @firebase/webchannel-wrapper@0.6.2
184
185## 3.4.9
186
187### Patch Changes
188
189- [`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
190
191- Updated dependencies [[`9c5c9c36d`](https://github.com/firebase/firebase-js-sdk/commit/9c5c9c36da80b98b73cfd60ef2e2965087e9f801)]:
192 - @firebase/util@1.6.0
193 - @firebase/component@0.5.14
194
195## 3.4.8
196
197### Patch Changes
198
199- [`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".
200
201- Updated dependencies [[`e9e5f6b3c`](https://github.com/firebase/firebase-js-sdk/commit/e9e5f6b3ca9d61323b22f87986d9959f5297ec59)]:
202 - @firebase/util@1.5.2
203 - @firebase/component@0.5.13
204
205## 3.4.7
206
207### Patch Changes
208
209- [`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()`.
210
211- Updated dependencies [[`3198d58dc`](https://github.com/firebase/firebase-js-sdk/commit/3198d58dcedbf7583914dbcc76984f6f7df8d2ef)]:
212 - @firebase/util@1.5.1
213 - @firebase/component@0.5.12
214
215## 3.4.6
216
217### Patch Changes
218
219- Updated dependencies [[`2d672cead`](https://github.com/firebase/firebase-js-sdk/commit/2d672cead167187cb714cd89b638c0884ba58f03)]:
220 - @firebase/util@1.5.0
221 - @firebase/component@0.5.11
222
223## 3.4.5
224
225### Patch Changes
226
227- [`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.
228
229* [`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.
230
231- [`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.
232
233* [`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.
234
235## 3.4.4
236
237### Patch Changes
238
239- [`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
240 receive a "Permission Denied" error. This issue only occurred for AppCheck users
241 that set their expiration time to under an hour.
242
243* [`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.
244
245## 3.4.3
246
247### Patch Changes
248
249- [`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.
250
251* [`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.
252
253## 3.4.2
254
255### Patch Changes
256
257- [`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
258
259* [`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.
260
261* Updated dependencies [[`3b481f572`](https://github.com/firebase/firebase-js-sdk/commit/3b481f572456e1eab3435bfc25717770d95a8c49)]:
262 - @firebase/util@1.4.3
263 - @firebase/component@0.5.10
264
265## 3.4.1
266
267### Patch Changes
268
269- [`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.
270
271* [`8298cf8a9`](https://github.com/firebase/firebase-js-sdk/commit/8298cf8a9343dbba6c628d64941dfbe5d17c44aa) [#5741](https://github.com/firebase/firebase-js-sdk/pull/5741) - fix firestore node tests
272
273## 3.4.0
274
275### Minor Changes
276
277- [`086df7c7e`](https://github.com/firebase/firebase-js-sdk/commit/086df7c7e0299cedd9f3cff9080f46ca25cab7cd) [#5634](https://github.com/firebase/firebase-js-sdk/pull/5634) - AppCheck integration for Firestore
278
279## 3.3.1
280
281### Patch Changes
282
283- [`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).
284
285* [`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
286
287## 3.3.0
288
289### Minor Changes
290
291- [`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.
292
293### Patch Changes
294
295- [`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
296
297- Updated dependencies [[`3281315fa`](https://github.com/firebase/firebase-js-sdk/commit/3281315fae9c6f535f9d5052ee17d60861ea569a)]:
298 - @firebase/component@0.5.9
299 - @firebase/logger@0.3.2
300 - @firebase/util@1.4.2
301
302## 3.2.1
303
304### Patch Changes
305
306- Updated dependencies [[`2322b6023`](https://github.com/firebase/firebase-js-sdk/commit/2322b6023c628cd9f4f4172767c17d215dd91684)]:
307 - @firebase/component@0.5.8
308 - @firebase/logger@0.3.1
309 - @firebase/util@1.4.1
310 - @firebase/webchannel-wrapper@0.6.1
311
312## 3.2.0
313
314### Minor Changes
315
316- [`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+.
317
318### Patch Changes
319
320- [`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
321
322* [`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.
323
324## 3.1.1
325
326### Patch Changes
327
328- [`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
329
330## 3.1.0
331
332### Minor Changes
333
334- [`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.
335
336### Patch Changes
337
338- [`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
339
340- 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)]:
341 - @firebase/logger@0.3.0
342 - @firebase/util@1.4.0
343 - @firebase/webchannel-wrapper@0.6.0
344 - @firebase/component@0.5.7
345
346## 3.0.2
347
348### Patch Changes
349
350- [`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.
351
352* [`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.
353
354- [`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.
355
356* [`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.
357
358## 3.0.1
359
360### Patch Changes
361
362- [`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
363
364* [`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
365
366## 3.0.0
367
368### Major Changes
369
370- [`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`:
371 - Support for passing in `FieldValue` property values when using a converter (via `WithFieldValue<T>` and `PartialWithFieldValue<T>`).
372 - Support for omitting properties in nested fields when performing a set operation with `{merge: true}` with a converter (via `PartialWithFieldValue<T>`).
373 - Support for typed update operations when using a converter (via the newly typed `UpdateData`). Improperly typed fields in
374 update operations on typed document references will no longer compile.
375
376* [`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
377
378## 2.4.0
379
380### Minor Changes
381
382- [`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.
383
384### Patch Changes
385
386- [`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.
387
388- Updated dependencies [[`bb6b5abff`](https://github.com/firebase/firebase-js-sdk/commit/bb6b5abff6f89ce9ec1bd66ff4e795a059a98eec), [`3c6a11c8d`](https://github.com/firebase/firebase-js-sdk/commit/3c6a11c8d0b35afddb50e9c3e0c4d2e30f642131)]:
389 - @firebase/component@0.5.6
390 - @firebase/firestore-types@2.4.0
391 - @firebase/util@1.3.0
392
393## 2.3.10
394
395### Patch Changes
396
397- Updated dependencies [[`a3cbe719b`](https://github.com/firebase/firebase-js-sdk/commit/a3cbe719b1bd733a5c4c15ee0d0e6388d512054c)]:
398 - @firebase/util@1.2.0
399 - @firebase/component@0.5.5
400
401## 2.3.9
402
403### Patch Changes
404
405- [`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).
406
407* [`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
408
409## 2.3.8
410
411### Patch Changes
412
413- Updated dependencies [[`85f73abb5`](https://github.com/firebase/firebase-js-sdk/commit/85f73abb5c5dd5625c82b874adbfbb4acd1d70d7), [`56a6a9d4a`](https://github.com/firebase/firebase-js-sdk/commit/56a6a9d4af2766154584a0f66d3c4d8024d74ba5)]:
414 - @firebase/webchannel-wrapper@0.5.1
415 - @firebase/component@0.5.4
416
417## 2.3.7
418
419### Patch Changes
420
421- Updated dependencies [[`725ab4684`](https://github.com/firebase/firebase-js-sdk/commit/725ab4684ef0999a12f71e704c204a00fb030e5d)]:
422 - @firebase/component@0.5.3
423
424## 2.3.6
425
426### Patch Changes
427
428- [`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.
429 [4971](https://github.com/firebase/firebase-js-sdk/pull/4971) didn't actually fix it.
430
431## 2.3.5
432
433### Patch Changes
434
435- [`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.
436
437- Updated dependencies [[`4c4b6aed9`](https://github.com/firebase/firebase-js-sdk/commit/4c4b6aed9757c9a7e75fb698a15e53274f93880b)]:
438 - @firebase/component@0.5.2
439
440## 2.3.4
441
442### Patch Changes
443
444- Updated dependencies [[`10fb5b87f`](https://github.com/firebase/firebase-js-sdk/commit/10fb5b87faecf3aa79e15545b21de99af3e51a71)]:
445 - @firebase/webchannel-wrapper@0.5.0
446
447## 2.3.3
448
449### Patch Changes
450
451- Updated dependencies [[`5fbc5fb01`](https://github.com/firebase/firebase-js-sdk/commit/5fbc5fb0140d7da980fd7ebbfbae810f8c64ae19)]:
452 - @firebase/component@0.5.1
453
454## 2.3.2
455
456### Patch Changes
457
458- [`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}`.
459
460## 2.3.1
461
462### Patch Changes
463
464- [`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.
465
466## 2.3.0
467
468### Minor Changes
469
470- [`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.
471
472### Patch Changes
473
474- 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)]:
475 - @firebase/component@0.5.0
476 - @firebase/firestore-types@2.3.0
477 - @firebase/util@1.1.0
478
479## 2.2.5
480
481### Patch Changes
482
483- [`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
484
485* [`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
486
487## 2.2.4
488
489### Patch Changes
490
491- [`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
492
493- Updated dependencies [[`7354a0ed4`](https://github.com/firebase/firebase-js-sdk/commit/7354a0ed438f4e3df6577e4927e8c8f8f1fbbfda)]:
494 - @firebase/util@1.0.0
495 - @firebase/component@0.4.1
496
497## 2.2.3
498
499### Patch Changes
500
501- Updated dependencies [[`f24d8961b`](https://github.com/firebase/firebase-js-sdk/commit/f24d8961b3b87821413297688803fc85113086b3)]:
502 - @firebase/component@0.4.0
503
504## 2.2.2
505
506### Patch Changes
507
508- [`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.
509
510- Updated dependencies [[`de5f90501`](https://github.com/firebase/firebase-js-sdk/commit/de5f9050137acc9ed1490082e5aa429b5de3cb2a)]:
511 - @firebase/util@0.4.1
512 - @firebase/component@0.3.1
513
514## 2.2.1
515
516### Patch Changes
517
518- [`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.
519
520- Updated dependencies [[`5c1a83ed7`](https://github.com/firebase/firebase-js-sdk/commit/5c1a83ed70bae979322bd8751c0885d683ce4bf3)]:
521 - @firebase/component@0.3.0
522
523## 2.2.0
524
525### Minor Changes
526
527- [`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)`
528
529### Patch Changes
530
531- Updated dependencies [[`ec95df3d0`](https://github.com/firebase/firebase-js-sdk/commit/ec95df3d07e5f091f2a7f7327e46417f64d04b4e), [`b6080a857`](https://github.com/firebase/firebase-js-sdk/commit/b6080a857b1b56e10db041e6357acd69154e31fb)]:
532 - @firebase/util@0.4.0
533 - @firebase/firestore-types@2.2.0
534 - @firebase/component@0.2.1
535
536## 2.1.7
537
538### Patch Changes
539
540- Updated dependencies [[`6afe42613`](https://github.com/firebase/firebase-js-sdk/commit/6afe42613ed3d7a842d378dc1a09a795811db2ac)]:
541 - @firebase/component@0.2.0
542
543## 2.1.6
544
545### Patch Changes
546
547- [`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.
548
549* [`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
550
551## 2.1.5
552
553### Patch Changes
554
555- [`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.
556
557## 2.1.4
558
559### Patch Changes
560
561- [`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)
562
563## 2.1.3
564
565### Patch Changes
566
567- [`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.
568
569## 2.1.2
570
571### Patch Changes
572
573- [`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.
574
575* [`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.
576
577## 2.1.1
578
579### Patch Changes
580
581- [`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.
582
583## 2.1.0
584
585### Minor Changes
586
587- [`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
588 be enabled via an additional import: 'firebase/firestore/bundle'. For CDN usage,
589 it is enabled by default.
590
591* [`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.
592
593### Patch Changes
594
595- Updated dependencies [[`b662f8c0a`](https://github.com/firebase/firebase-js-sdk/commit/b662f8c0a9890cbdcf53cce7fe01c2a8a52d3d2d)]:
596 - @firebase/firestore-types@2.1.0
597
598## 2.0.5
599
600### Patch Changes
601
602- [`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.
603
604* [`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.
605
606## 2.0.4
607
608### Patch Changes
609
610- [`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.
611
612- Updated dependencies [[`9822e125c`](https://github.com/firebase/firebase-js-sdk/commit/9822e125c399ae7271d4a9077f82b184a44526e4)]:
613 - @firebase/webchannel-wrapper@0.4.1
614
615## 2.0.3
616
617### Patch Changes
618
619- [`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.
620
621* [`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`.
622
623## 2.0.2
624
625### Patch Changes
626
627- [`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`.
628
629* [`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
630
631- [`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.
632
633## 2.0.1
634
635### Patch Changes
636
637- [`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.
638
639- Updated dependencies [[`9cf727fcc`](https://github.com/firebase/firebase-js-sdk/commit/9cf727fcc3d049551b16ae0698ac33dc2fe45ada)]:
640 - @firebase/util@0.3.4
641 - @firebase/component@0.1.21
642
643## 2.0.0
644
645### Major Changes
646
647- [`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.
648
649* [`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.
650
651- [`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.
652
653* [`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.
654
655### Minor Changes
656
657- [`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
658
659* [`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.
660
661### Patch Changes
662
663- [`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.
664
665 Before this change
666
667 ```
668 import * as firebase from 'firebase/app';
669 ```
670
671 After this change
672
673 ```
674 import firebase from 'firebase/app';
675 ```
676
677- 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)]:
678 - @firebase/component@0.1.20
679 - @firebase/util@0.3.3
680 - @firebase/firestore-types@2.0.0
681
682## 1.18.0
683
684### Minor Changes
685
686- [`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
687 enabled, the SDK's underlying transport (WebChannel) automatically detects if
688 long-polling should be used. This is very similar to
689 `experimentalForceLongPolling`, but only uses long-polling if required.
690
691### Patch Changes
692
693- [`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.
694
695- Updated dependencies [[`4f997bce1`](https://github.com/firebase/firebase-js-sdk/commit/4f997bce102be272b76836b6bcba96ea7de857bc)]:
696 - @firebase/firestore-types@1.14.0
697 - @firebase/webchannel-wrapper@0.4.0
698
699## 1.17.3
700
701### Patch Changes
702
703- [`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.
704
705## 1.17.2
706
707### Patch Changes
708
709- [`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.
710
711## 1.17.1
712
713### Patch Changes
714
715- [`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).
716
717* [`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.
718
719## 1.17.0
720
721### Minor Changes
722
723- [`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.
724
725* [`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.
726
727### Patch Changes
728
729- [`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).
730
731- Updated dependencies [[`f9004177e`](https://github.com/firebase/firebase-js-sdk/commit/f9004177e76f00fc484d30c0c0e7b1bc2da033f9), [`a8ff3dbaa`](https://github.com/firebase/firebase-js-sdk/commit/a8ff3dbaacd06371e6652a6d639ef2d9bead612b)]:
732 - @firebase/firestore-types@1.13.0
733
734## 1.16.7
735
736### Patch Changes
737
738- [`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.
739
740- Updated dependencies [[`da1c7df79`](https://github.com/firebase/firebase-js-sdk/commit/da1c7df7982b08bbef82fcc8d93255f3e2d23cca), [`fb3b095e4`](https://github.com/firebase/firebase-js-sdk/commit/fb3b095e4b7c8f57fdb3172bc039c84576abf290)]:
741 - @firebase/component@0.1.19
742 - @firebase/util@0.3.2
743
744## 1.16.6
745
746### Patch Changes
747
748- [`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
749 settings from a previous call. This allows adding settings on top of the settings that were applied
750 by `@firebase/testing`.
751- Updated dependencies [[`61b4cd31b`](https://github.com/firebase/firebase-js-sdk/commit/61b4cd31b961c90354be38b18af5fbea9da8d5a3)]:
752 - @firebase/firestore-types@1.12.1
753
754## 1.16.5
755
756### Patch Changes
757
758- [`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.
759
760* [`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`.
761
762## 1.16.4
763
764### Patch Changes
765
766- [`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.
767
768* [`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.
769
770* Updated dependencies [[`d4ca3da0`](https://github.com/firebase/firebase-js-sdk/commit/d4ca3da0a59fcea1261ba69d7eb663bba38d3089)]:
771 - @firebase/util@0.3.1
772 - @firebase/component@0.1.18
773
774## 1.16.3
775
776### Patch Changes
777
778- Updated dependencies [[`7f0860a4`](https://github.com/firebase/firebase-js-sdk/commit/7f0860a4ced76da8492ae44d2267a2f1cc58eccb)]:
779 - @firebase/webchannel-wrapper@0.3.0
780
781## 1.16.2
782
783### Patch Changes
784
785- Updated dependencies [[`a87676b8`](https://github.com/firebase/firebase-js-sdk/commit/a87676b84b78ccc2f057a22eb947a5d13402949c)]:
786 - @firebase/util@0.3.0
787 - @firebase/component@0.1.17
788
789## 1.16.1
790
791### Patch Changes
792
793- [`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.
794
795* [`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
796 reestablishing a network connection if a connectivity change occurred while
797 the app was in the background.
798
799## 1.16.0
800
801### Minor Changes
802
803- [`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`.
804
805* [`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.
806
807### Patch Changes
808
809- [`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
810
811* [`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.
812
813* Updated dependencies [[`a754645e`](https://github.com/firebase/firebase-js-sdk/commit/a754645ec2be1b8c205f25f510196eee298b0d6e), [`39ca8ecf`](https://github.com/firebase/firebase-js-sdk/commit/39ca8ecf940472159d0bc58212f34a70146da60c)]:
814 - @firebase/component@0.1.16
815 - @firebase/logger@0.2.6
816 - @firebase/firestore-types@1.12.0
817* [fixed] Fixed an issue that may have prevented the client from connecting
818 to the backend immediately after a user signed in.
819
820## 1.15.0
821
822- [feature] Added an `experimentalForceOwningTab` setting that can be used to
823 enable persistence in environments without LocalStorage, which allows
824 persistence to be used in Web Workers (#983).
825- [changed] All known failure cases for Indexed-related crashes have now been
826 addressed. Instead of crashing the client, IndexedDB failures will result
827 in rejected operations (e.g. rejected Writes or errored Query listeners).
828 If these rejections surface in your app, you can retry these operations
829 when IndexedDB access is restored.
830 IndexedDB failures that occur due to background work are automatically
831 retried.
832
833 If you continue to see Indexed-related crashes, we appreciate feedback
834 (https://github.com/firebase/firebase-js-sdk/issues/2755).
835
836## 1.14.6
837
838- [fixed] Fixed an issue that could cause Firestore to temporarily go
839 offline when a Window visibility event occurred.
840- [feature] Added support for calling `FirebaseFiresore.settings` with
841 `{ ignoreUndefinedProperties: true }`. When set, Firestore ignores
842 undefined properties inside objects rather than rejecting the API call.
843
844## 1.14.4
845
846- [fixed] Fixed a regression introduced in v7.14.2 that incorrectly applied
847 a `FieldValue.increment` in combination with `set({...}, {merge: true})`.
848
849## 1.14.3
850
851- [fixed] Firestore now rejects `onSnapshot()` listeners if they cannot be
852 registered in IndexedDB. Previously, these errors crashed the client.
853
854## 1.14.2
855
856- [fixed] Firestore now rejects write operations if they cannot be persisted
857 in IndexedDB. Previously, these errors crashed the client.
858- [fixed] Fixed a source of IndexedDB-related crashes for tabs that receive
859 multi-tab notifications while the file system is locked.
860
861## 1.10.2
862
863- [fixed] Temporarily reverted the use of window.crypto to generate document
864 IDs to address compatibility issues with IE 11, WebWorkers, and React Native.
865- [changed] Firestore now limits the number of concurrent document lookups it
866 will perform when resolving inconsistencies in the local cache (#2683).
867- [changed] Changed the in-memory representation of Firestore documents to
868 reduce memory allocations and improve performance. Calls to
869 `DocumentSnapshot.getData()` and `DocumentSnapshot.toObject()` will see
870 the biggest improvement.
871
872## 1.10.1
873
874- [fixed] Fixed an issue where the number value `-0.0` would lose its sign when
875 stored in Firestore.
876
877## 1.10.0
878
879- [feature] Implemented `Timestamp.valueOf()` so that `Timestamp` objects can be
880 compared for relative ordering using the JavaScript arithmetic comparison
881 operators (#2632).
882- [fixed] Fixed an issue where auth credentials were not respected in Cordova
883 environments (#2626).
884- [fixed] Fixed a performance regression introduced by the addition of
885 `Query.limitToLast(n: number)` in Firestore 1.7.0 (Firebase 7.3.0) (#2620).
886- [fixed] Fixed an issue where `CollectionReference.add()` would reject
887 custom types when using `withConverter()` (#2606).
888
889## 1.9.3
890
891- [fixed] Fixed an issue where auth credentials were not respected in some
892 Firefox or Chrome extensions. (#1491)
893- [changed] Firestore previously required that every document read in a
894 transaction must also be written. This requirement has been removed, and
895 you can now read a document in transaction without writing to it.
896
897## 1.9.2
898
899- [fixed] Fixed an issue where auth credentials were not respected in certain
900 browser environments (Electron 7, IE11 in trusted zone, UWP apps). (#1491)
901
902## 1.9.0
903
904- [feature] Added support for storing and retrieving custom types in Firestore.
905 Added support for strongly typed collections, documents, and
906 queries. You can now use `withConverter()` to supply a custom data
907 converter that will convert between Firestore data and your custom type.
908
909## 1.8.0
910
911- [changed] Improved the performance of repeatedly executed queries when
912 persistence is enabled. Recently executed queries should see dramatic
913 improvements. This benefit is reduced if changes accumulate while the query
914 is inactive. Queries that use the `limit()` API may not always benefit,
915 depending on the accumulated changes.
916
917## 1.7.0
918
919- [changed] The client can now recover if certain periodic IndexedDB operations
920 fail.
921- [feature] Added `in` and `array-contains-any` query operators for use with
922 `.where()`. `in` finds documents where a specified field’s value is IN a
923 specified array. `array-contains-any` finds documents where a specified field
924 is an array and contains ANY element of a specified array.
925- [feature] Added `Query.limitToLast(n: number)` , which returns the last
926 `n` documents as the result.
927
928## 1.6.3
929
930- [changed] Improved iOS 13 support by eliminating an additional crash in our
931 IndexedDB persistence layer.
932
933## 1.6.2
934
935- [changed] Fixed a crash on iOS 13 that occurred when persistence was enabled
936 in a background tab (#2232).
937- [fixed] Fixed an issue in the interaction with the Firestore Emulator that
938 caused requests with timestamps to fail.
939
940## 1.6.0
941
942- [feature] Added a `Firestore.onSnapshotsInSync()` method that notifies you
943 when all your snapshot listeners are in sync with each other.
944- [fixed] Fixed a regression that caused queries with nested field filters to
945 crash the client if the field was not present in the local copy of the
946 document.
947
948## 1.5.0
949
950- [feature] Added a `Firestore.waitForPendingWrites()` method that
951 allows users to wait until all pending writes are acknowledged by the
952 Firestore backend.
953- [feature] Added a `Firestore.terminate()` method which terminates
954 the instance, releasing any held resources. Once it completes, you can
955 optionally call `Firestore.clearPersistence()` to wipe persisted Firestore
956 data from disk.
957- [changed] Improved performance for queries with filters that only return a
958 small subset of the documents in a collection.
959- [fixed] Fixed a race condition between authenticating and initializing
960 Firestore that could result in initial writes to the database being dropped.
961
962## 1.4.10
963
964- [changed] Transactions now perform exponential backoff before retrying.
965 This means transactions on highly contended documents are more likely to
966 succeed.
967
968## 1.4.6
969
970- [changed] Transactions are now more flexible. Some sequences of operations
971 that were previously incorrectly disallowed are now allowed. For example,
972 after reading a document that doesn't exist, you can now set it multiple
973 times successfully in a transaction.
974
975## 1.4.5
976
977- [fixed] Fixed an issue where query results were temporarily missing
978 documents that previously had not matched but had been updated to now
979 match the query (https://github.com/firebase/firebase-android-sdk/issues/155).
980
981## 1.4.4
982
983- [fixed] Fixed an internal assertion that was triggered when an update
984 with a `FieldValue.serverTimestamp()` and an update with a
985 `FieldValue.increment()` were pending for the same document.
986
987## 1.4.0
988
989- [changed] Added logging and a custom error message to help users hitting
990 https://bugs.webkit.org/show_bug.cgi?id=197050 (a bug in iOS 12.2 causing
991 the SDK to potentially crash when persistence is enabled).
992- [fixed] Fixed an issue for environments missing `window.addEventListener`,
993 such as in React Native with Expo (#1824).
994
995## 1.3.5
996
997- [feature] Added `clearPersistence()`, which clears the persistent storage
998 including pending writes and cached documents. This is intended to help
999 write reliable tests (#449).
1000
1001## 1.3.3
1002
1003- [changed] Firestore now recovers more quickly after network connectivity
1004 changes (airplane mode, Wi-Fi availability, etc.).
1005
1006## 1.3.0
1007
1008- [changed] Deprecated the `experimentalTabSynchronization` setting in favor of
1009 `synchronizeTabs`. If you use multi-tab synchronization, it is recommended
1010 that you update your call to `enablePersistence()`. Firestore logs an error
1011 if you continue to use `experimentalTabSynchronization`.
1012- [feature] You can now query across all collections in your database with a
1013 given collection ID using the `FirebaseFirestore.collectionGroup()` method.
1014
1015## 1.1.4
1016
1017- [feature] Added an `experimentalForceLongPolling` setting that that can be
1018 used to work around proxies that prevent the Firestore client from connecting
1019 to the Firestore backend.
1020
1021## 1.1.1
1022
1023- [changed] Increased a connection timeout that could lead to large writes
1024 perputually retrying without ever succeeding (#1447).
1025- [fixed] Fixed an issue with IndexedDb persistence that triggered an internal
1026 assert for Queries that use nested DocumentReferences in where() clauses
1027 (#1524, #1596).
1028- [fixed] Fixed an issue where transactions in a Node.JS app could be sent
1029 without auth credentials, leading to Permission Denied errors.
1030
1031## 1.1.0
1032
1033- [feature] Added `FieldValue.increment()`, which can be used in `update()`
1034 and `set(..., {merge:true})` to increment or decrement numeric field
1035 values safely without transactions.
1036- [changed] Prepared the persistence layer to support collection group queries.
1037 While this feature is not yet available, all schema changes are included
1038 in this release. Once you upgrade, you will not be able to use an older version
1039 of the Firestore SDK with persistence enabled.
1040
1041## 1.0.5
1042
1043- [changed] Improved performance when querying over documents that contain
1044 subcollections.
1045
1046## 1.0.4
1047
1048- [fixed] Fixed an uncaught promise error occurring when `enablePersistence()`
1049 was called in a second tab (#1531).
1050
1051## 1.0.0
1052
1053- [changed] The `timestampsInSnapshots` setting is now enabled by default.
1054 Timestamp fields that read from a `DocumentSnapshot` are now returned as
1055 `Timestamp` objects instead of `Date` objects. This is a breaking change;
1056 developers must update any code that expects to receive a `Date` object. See
1057 https://firebase.google.com/docs/reference/js/firebase.firestore.Settings#~timestampsInSnapshots
1058 for more details.
1059- [fixed] Fixed a crash that could happen when the app is shut down after
1060 a write has been sent to the server but before it has been received on
1061 a listener.
1062
1063## 0.9.2
1064
1065- [fixed] Fixed a regression introduced in 5.7.0 that caused apps using
1066 experimentalTabSynchronization to hit an exception for "Failed to obtain
1067 primary lease for action 'Collect garbage'".
1068
1069## 0.9.1
1070
1071- [changed] Added a custom error for schema downgrades.
1072
1073## 0.9.0
1074
1075- [changed] Removed eval()-based fallback for JSON parsing, allowing SDK to
1076 be used in environments that prohibit eval().
1077- [feature] Added a garbage collection process to on-disk persistence that
1078 removes older documents. This is enabled automatically if persistence is
1079 enabled, and the SDK will attempt to periodically clean up older, unused
1080 documents once the on-disk cache passes a threshold size (default: 40 MB).
1081 This threshold can be configured by changing the setting `cacheSizeBytes` in
1082 the settings passed to `Firestore.settings()`. It must be set to a minimum of
1083 1 MB. The garbage collection process can be disabled entirely by setting
1084 `cacheSizeBytes` to `CACHE_SIZE_UNLIMITED`.
1085
1086## 0.8.3
1087
1088- [fixed] Fixed an issue that prevented query synchronization between multiple
1089 tabs.
1090
1091## 0.8.2
1092
1093- [fixed] Fixed an issue where native ES6 module loading was not working.
1094
1095## 0.8.1
1096
1097- [fixed] Fixed an issue where typings are created in the wrong location.
1098
1099## 0.8.0
1100
1101- [feature] Access to offline persistence is no longer limited to a single tab.
1102 You can opt into this new experimental mode by invoking `enablePersistence()`
1103 with `{experimentalTabSynchronization: true}`. All tabs accessing persistence
1104 must use the same setting for this flag.
1105- [fixed] Fixed an issue where the first `get()` call made after being offline
1106 could incorrectly return cached data without attempting to reach the backend.
1107- [changed] Changed `get()` to only make one attempt to reach the backend before
1108 returning cached data, potentially reducing delays while offline.
1109- [fixed] Fixed an issue that caused Firebase to drop empty objects from calls
1110 to `set(..., { merge: true })`.
1111- [changed] Improved argument validation for several API methods.
1112
1113## 0.7.3
1114
1115- [changed] Changed the internal handling for locally updated documents that
1116 haven't yet been read back from Firestore. This can lead to slight behavior
1117 changes and may affect the `SnapshotMetadata.hasPendingWrites` metadata flag.
1118- [changed] Eliminated superfluous update events for locally cached documents
1119 that are known to lag behind the server version. Instead, we buffer these
1120 events until the client has caught up with the server.
1121
1122## 0.7.2
1123
1124- [fixed] Fixed a regression that prevented use of Firestore on ReactNative's
1125 Expo platform (#1138).
1126
1127## 0.7.0
1128
1129- [fixed] Fixed `get({source: 'cache'})` to be able to return nonexistent
1130 documents from cache.
1131- [changed] Prepared the persistence layer to allow shared access from multiple
1132 tabs. While this feature is not yet available, all schema changes are included
1133 in this release. Once you upgrade, you will not be able to use an older version
1134 of the Firestore SDK with persistence enabled.
1135- [fixed] Fixed an issue where changes to custom authentication claims did not
1136 take effect until you did a full sign-out and sign-in.
1137 (firebase/firebase-ios-sdk#1499)
1138
1139## 0.6.1
1140
1141- [changed] Improved how Firestore handles idle queries to reduce the cost of
1142 re-listening within 30 minutes.
1143- [changed] Improved offline performance with many outstanding writes.
1144
1145## 0.6.0
1146
1147- [fixed] Fixed an issue where queries returned fewer results than they should,
1148 caused by documents that were cached as deleted when they should not have
1149 been (firebase/firebase-ios-sdk#1548). Because some cache data is cleared,
1150 clients might use extra bandwidth the first time they launch with this
1151 version of the SDK.
1152- [feature] Added `firebase.firestore.FieldValue.arrayUnion()` and
1153 `firebase.firestore.FieldValue.arrayRemove()` to atomically add and remove
1154 elements from an array field in a document.
1155- [feature] Added `'array-contains'` query operator for use with `.where()` to
1156 find documents where an array field contains a specific element.
1157
1158## 0.5.0
1159
1160- [changed] Merged the `includeQueryMetadataChanges` and
1161 `includeDocumentMetadataChanges` options passed to `Query.onSnapshot()` into
1162 a single `includeMetadataChanges` option.
1163- [changed] `QuerySnapshot.docChanges()` is now a method that optionally takes
1164 an `includeMetadataChanges` option. By default, even when listening to a query
1165 with `{ includeMetadataChanges:true }`, metadata-only document changes are
1166 suppressed in `docChanges()`.
1167- [feature] Added new `{ mergeFields: (string|FieldPath)[] }` option to `set()`
1168 which allows merging of a reduced subset of fields.
1169
1170## 0.4.1
1171
1172- [fixed] Fixed a regression in Firebase JS release 4.13.0 regarding the
1173 loading of proto files, causing Node.JS support to break.
1174
1175## 0.4.0
1176
1177- [feature] Added a new `Timestamp` class to represent timestamp fields,
1178 currently supporting up to microsecond precision. It can be passed to API
1179 methods anywhere a JS Date object is currently accepted. To make
1180 `DocumentSnapshot`s read timestamp fields back as `Timestamp`s instead of
1181 Dates, you can set the newly added flag `timestampsInSnapshots` in
1182 `FirestoreSettings` to `true`. Note that the current behavior
1183 (`DocumentSnapshot`s returning JS Date objects) will be removed in a future
1184 release. `Timestamp` supports higher precision than JS Date.
1185- [feature] Added ability to control whether DocumentReference.get() and
1186 Query.get() should fetch from server only, (by passing { source: 'server' }),
1187 cache only (by passing { source: 'cache' }), or attempt server and fall back
1188 to the cache (which was the only option previously, and is now the default).
1189
1190## 0.3.7
1191
1192- [fixed] Fixed a regression in the Firebase JS release 4.11.0 that could
1193 cause get() requests made while offline to be delayed by up to 10
1194 seconds (rather than returning from cache immediately).
1195
1196# 0.3.6
1197
1198- [fixed] Fixed a regression in the Firebase JS release 4.11.0 that could
1199 cause a crash if a user signs out while the client is offline, resulting in
1200 an error of "Attempted to schedule multiple operations with timer id
1201 listen_stream_connection_backoff".
1202
1203## 0.3.5
1204
1205- [changed] If the SDK's attempt to connect to the Cloud Firestore backend
1206 neither succeeds nor fails within 10 seconds, the SDK will consider itself
1207 "offline", causing get() calls to resolve with cached results, rather than
1208 continuing to wait.
1209- [fixed] Fixed a potential race condition after calling `enableNetwork()` that
1210 could result in a "Mutation batchIDs must be acknowledged in order" assertion
1211 crash.
1212
1213## 0.3.2
1214
1215- [fixed] Fixed a regression in Firebase JS release 4.9.0 that could in certain
1216 cases result in an "OnlineState should not affect limbo documents." assertion
1217 crash when the client loses its network connection.
1218
1219## 0.3.1
1220
1221- [changed] Snapshot listeners (with the `includeMetadataChanges` option
1222 enabled) now receive an event with `snapshot.metadata.fromCache` set to
1223 `true` if the SDK loses its connection to the backend. A new event with
1224 `snapshot.metadata.fromCache` set to false will be raised once the
1225 connection is restored and the query is in sync with the backend again.
1226- [feature] Added `SnapshotOptions` API to control how DocumentSnapshots
1227 return unresolved server timestamps.
1228- [feature] Added `disableNetwork()` and `enableNetwork()` methods to
1229 `Firestore` class, allowing for explicit network management.
1230- [changed] For non-existing documents, `DocumentSnapshot.data()` now returns
1231 `undefined` instead of throwing an exception. A new
1232 `QueryDocumentSnapshot` class is introduced for Queries to reduce the number
1233 of undefined-checks in your code.
1234- [added] Added `isEqual` API to `GeoPoint`, `Blob`, `SnapshotMetadata`,
1235 `DocumentSnapshot`, `QuerySnapshot`, `CollectionReference`, `FieldValue`
1236 and `FieldPath`.
1237- [changed] A "Could not reach Firestore backend." message will be
1238 logged when the initial connection to the Firestore backend fails.
1239- [changed] A "Using maximum backoff delay to prevent overloading the
1240 backend." message will be logged when we get a resource-exhausted
1241 error from the backend.
1242
1243## v0.2.1
1244
1245- [feature] Added Node.js support for Cloud Firestore (with the exception of
1246 the offline persistence feature).
1247- [changed] Webchannel requests use \$httpHeaders URL parameter rather than
1248 normal HTTP headers to avoid an extra CORS preflight request when initiating
1249 streams / RPCs.
1250
1251## v0.1.4
1252
1253- [changed] Network streams are automatically closed after 60 seconds of
1254 idleness.
1255- [changed] We no longer log 'RPC failed' messages for expected failures.
1256
1257## v0.1.2
1258
1259- [changed] We now support `FieldValue.delete()` sentinels in `set()` calls
1260 with `{merge:true}`.
1261- [fixed] Fixed validation of nested arrays to allow indirect nesting
1262
1263## v0.1.1
1264
1265- [fixed] Fixed an issue causing exceptions when trying to use
1266 `firebase.firestore.FieldPath.documentId()` in an `orderBy()` or `where()`
1267 clause in a query.
1268
1269## v0.1.0
1270
1271- Initial public release.
1272
\No newline at end of file