GSI - Employe Self Service Mobile
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1249 lines
67 KiB

2 months ago
  1. # @firebase/firestore
  2. ## 3.8.1
  3. ### Patch Changes
  4. - [`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.
  5. - [`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.
  6. - [`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.
  7. - Updated dependencies [[`d4114a4f7`](https://github.com/firebase/firebase-js-sdk/commit/d4114a4f7da3f469c0c900416ac8beee58885ec3), [`06dc1364d`](https://github.com/firebase/firebase-js-sdk/commit/06dc1364d7560f4c563e1ccc89af9cad4cd91df8)]:
  8. - @firebase/util@1.9.0
  9. - @firebase/component@0.6.1
  10. ## 3.8.0
  11. ### Minor Changes
  12. - [`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)
  13. - [`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(...)`)
  14. now return a more specific type, which extends QueryConstraint. Refactoring and code that supports future features is also
  15. included in this release.
  16. ### Patch Changes
  17. - Updated dependencies [[`c20633ed3`](https://github.com/firebase/firebase-js-sdk/commit/c20633ed35056cbadc9d65d9ceddf4e28d1ea666), [`1625f7a95`](https://github.com/firebase/firebase-js-sdk/commit/1625f7a95cc3ffb666845db0a8044329be74b5be)]:
  18. - @firebase/util@1.8.0
  19. - @firebase/component@0.6.0
  20. - @firebase/logger@0.4.0
  21. - @firebase/webchannel-wrapper@0.9.0
  22. ## 3.7.3
  23. ### Patch Changes
  24. - [`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.
  25. - [`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.
  26. ## 3.7.2
  27. ### Patch Changes
  28. - [`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.
  29. - Updated dependencies [[`4af28c1a4`](https://github.com/firebase/firebase-js-sdk/commit/4af28c1a42bd25ce2353f694ca1724c6101cbce5)]:
  30. - @firebase/component@0.5.21
  31. - @firebase/logger@0.3.4
  32. - @firebase/util@1.7.3
  33. - @firebase/webchannel-wrapper@0.8.1
  34. ## 3.7.1
  35. ### Patch Changes
  36. - Updated dependencies [[`807f06aa2`](https://github.com/firebase/firebase-js-sdk/commit/807f06aa26438a91aaea08fd38efb6c706bb8a5d)]:
  37. - @firebase/util@1.7.2
  38. - @firebase/component@0.5.20
  39. ## 3.7.0
  40. ### Minor Changes
  41. - [`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.
  42. ### Patch Changes
  43. - [`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
  44. * [`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.
  45. * 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)]:
  46. - @firebase/webchannel-wrapper@0.8.0
  47. - @firebase/util@1.7.1
  48. - @firebase/component@0.5.19
  49. ## 3.6.0
  50. ### Minor Changes
  51. - [`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.
  52. * [`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.
  53. ### Patch Changes
  54. - [`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.
  55. * [`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
  56. * Updated dependencies [[`fdd4ab464`](https://github.com/firebase/firebase-js-sdk/commit/fdd4ab464b59a107bdcc195df3f01e32efd89ed4)]:
  57. - @firebase/util@1.7.0
  58. - @firebase/component@0.5.18
  59. ## 3.5.0
  60. ### Minor Changes
  61. - [`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.
  62. Requires Cloud Firestore Emulator v1.14.4 or newer.
  63. ### Patch Changes
  64. - Updated dependencies [[`7c0c640a4`](https://github.com/firebase/firebase-js-sdk/commit/7c0c640a446c729ac66fec27dfd77d6398a468db)]:
  65. - @firebase/webchannel-wrapper@0.7.0
  66. ## 3.4.15
  67. ### Patch Changes
  68. - [`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)
  69. ## 3.4.14
  70. ### Patch Changes
  71. - [`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
  72. * [`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`.
  73. ## 3.4.13
  74. ### Patch Changes
  75. - [`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.
  76. ## 3.4.12
  77. ### Patch Changes
  78. - [`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.
  79. - Updated dependencies [[`b12af44a5`](https://github.com/firebase/firebase-js-sdk/commit/b12af44a5c7500e1192d6cc1a4afc4d77efadbaf)]:
  80. - @firebase/util@1.6.3
  81. - @firebase/component@0.5.17
  82. ## 3.4.11
  83. ### Patch Changes
  84. - Updated dependencies [[`efe2000fc`](https://github.com/firebase/firebase-js-sdk/commit/efe2000fc499e2c85c4e5e0fef6741ff3bad2eb0)]:
  85. - @firebase/util@1.6.2
  86. - @firebase/component@0.5.16
  87. ## 3.4.10
  88. ### Patch Changes
  89. - [`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
  90. * [`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
  91. * Updated dependencies [[`2cd1cc76f`](https://github.com/firebase/firebase-js-sdk/commit/2cd1cc76f2a308135cd60f424fe09084a34b5cb5)]:
  92. - @firebase/component@0.5.15
  93. - @firebase/logger@0.3.3
  94. - @firebase/util@1.6.1
  95. - @firebase/webchannel-wrapper@0.6.2
  96. ## 3.4.9
  97. ### Patch Changes
  98. - [`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
  99. - Updated dependencies [[`9c5c9c36d`](https://github.com/firebase/firebase-js-sdk/commit/9c5c9c36da80b98b73cfd60ef2e2965087e9f801)]:
  100. - @firebase/util@1.6.0
  101. - @firebase/component@0.5.14
  102. ## 3.4.8
  103. ### Patch Changes
  104. - [`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".
  105. - Updated dependencies [[`e9e5f6b3c`](https://github.com/firebase/firebase-js-sdk/commit/e9e5f6b3ca9d61323b22f87986d9959f5297ec59)]:
  106. - @firebase/util@1.5.2
  107. - @firebase/component@0.5.13
  108. ## 3.4.7
  109. ### Patch Changes
  110. - [`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()`.
  111. - Updated dependencies [[`3198d58dc`](https://github.com/firebase/firebase-js-sdk/commit/3198d58dcedbf7583914dbcc76984f6f7df8d2ef)]:
  112. - @firebase/util@1.5.1
  113. - @firebase/component@0.5.12
  114. ## 3.4.6
  115. ### Patch Changes
  116. - Updated dependencies [[`2d672cead`](https://github.com/firebase/firebase-js-sdk/commit/2d672cead167187cb714cd89b638c0884ba58f03)]:
  117. - @firebase/util@1.5.0
  118. - @firebase/component@0.5.11
  119. ## 3.4.5
  120. ### Patch Changes
  121. - [`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.
  122. * [`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.
  123. - [`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.
  124. * [`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.
  125. ## 3.4.4
  126. ### Patch Changes
  127. - [`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
  128. receive a "Permission Denied" error. This issue only occurred for AppCheck users
  129. that set their expiration time to under an hour.
  130. * [`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.
  131. ## 3.4.3
  132. ### Patch Changes
  133. - [`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.
  134. * [`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.
  135. ## 3.4.2
  136. ### Patch Changes
  137. - [`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
  138. * [`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.
  139. * Updated dependencies [[`3b481f572`](https://github.com/firebase/firebase-js-sdk/commit/3b481f572456e1eab3435bfc25717770d95a8c49)]:
  140. - @firebase/util@1.4.3
  141. - @firebase/component@0.5.10
  142. ## 3.4.1
  143. ### Patch Changes
  144. - [`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.
  145. * [`8298cf8a9`](https://github.com/firebase/firebase-js-sdk/commit/8298cf8a9343dbba6c628d64941dfbe5d17c44aa) [#5741](https://github.com/firebase/firebase-js-sdk/pull/5741) - fix firestore node tests
  146. ## 3.4.0
  147. ### Minor Changes
  148. - [`086df7c7e`](https://github.com/firebase/firebase-js-sdk/commit/086df7c7e0299cedd9f3cff9080f46ca25cab7cd) [#5634](https://github.com/firebase/firebase-js-sdk/pull/5634) - AppCheck integration for Firestore
  149. ## 3.3.1
  150. ### Patch Changes
  151. - [`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).
  152. * [`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
  153. ## 3.3.0
  154. ### Minor Changes
  155. - [`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.
  156. ### Patch Changes
  157. - [`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
  158. - Updated dependencies [[`3281315fa`](https://github.com/firebase/firebase-js-sdk/commit/3281315fae9c6f535f9d5052ee17d60861ea569a)]:
  159. - @firebase/component@0.5.9
  160. - @firebase/logger@0.3.2
  161. - @firebase/util@1.4.2
  162. ## 3.2.1
  163. ### Patch Changes
  164. - Updated dependencies [[`2322b6023`](https://github.com/firebase/firebase-js-sdk/commit/2322b6023c628cd9f4f4172767c17d215dd91684)]:
  165. - @firebase/component@0.5.8
  166. - @firebase/logger@0.3.1
  167. - @firebase/util@1.4.1
  168. - @firebase/webchannel-wrapper@0.6.1
  169. ## 3.2.0
  170. ### Minor Changes
  171. - [`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+.
  172. ### Patch Changes
  173. - [`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
  174. * [`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.
  175. ## 3.1.1
  176. ### Patch Changes
  177. - [`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
  178. ## 3.1.0
  179. ### Minor Changes
  180. - [`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.
  181. ### Patch Changes
  182. - [`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
  183. - 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)]:
  184. - @firebase/logger@0.3.0
  185. - @firebase/util@1.4.0
  186. - @firebase/webchannel-wrapper@0.6.0
  187. - @firebase/component@0.5.7
  188. ## 3.0.2
  189. ### Patch Changes
  190. - [`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.
  191. * [`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.
  192. - [`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.
  193. * [`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.
  194. ## 3.0.1
  195. ### Patch Changes
  196. - [`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
  197. * [`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
  198. ## 3.0.0
  199. ### Major Changes
  200. - [`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`:
  201. - Support for passing in `FieldValue` property values when using a converter (via `WithFieldValue<T>` and `PartialWithFieldValue<T>`).
  202. - Support for omitting properties in nested fields when performing a set operation with `{merge: true}` with a converter (via `PartialWithFieldValue<T>`).
  203. - Support for typed update operations when using a converter (via the newly typed `UpdateData`). Improperly typed fields in
  204. update operations on typed document references will no longer compile.
  205. * [`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
  206. ## 2.4.0
  207. ### Minor Changes
  208. - [`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.
  209. ### Patch Changes
  210. - [`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.
  211. - Updated dependencies [[`bb6b5abff`](https://github.com/firebase/firebase-js-sdk/commit/bb6b5abff6f89ce9ec1bd66ff4e795a059a98eec), [`3c6a11c8d`](https://github.com/firebase/firebase-js-sdk/commit/3c6a11c8d0b35afddb50e9c3e0c4d2e30f642131)]:
  212. - @firebase/component@0.5.6
  213. - @firebase/firestore-types@2.4.0
  214. - @firebase/util@1.3.0
  215. ## 2.3.10
  216. ### Patch Changes
  217. - Updated dependencies [[`a3cbe719b`](https://github.com/firebase/firebase-js-sdk/commit/a3cbe719b1bd733a5c4c15ee0d0e6388d512054c)]:
  218. - @firebase/util@1.2.0
  219. - @firebase/component@0.5.5
  220. ## 2.3.9
  221. ### Patch Changes
  222. - [`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).
  223. * [`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
  224. ## 2.3.8
  225. ### Patch Changes
  226. - Updated dependencies [[`85f73abb5`](https://github.com/firebase/firebase-js-sdk/commit/85f73abb5c5dd5625c82b874adbfbb4acd1d70d7), [`56a6a9d4a`](https://github.com/firebase/firebase-js-sdk/commit/56a6a9d4af2766154584a0f66d3c4d8024d74ba5)]:
  227. - @firebase/webchannel-wrapper@0.5.1
  228. - @firebase/component@0.5.4
  229. ## 2.3.7
  230. ### Patch Changes
  231. - Updated dependencies [[`725ab4684`](https://github.com/firebase/firebase-js-sdk/commit/725ab4684ef0999a12f71e704c204a00fb030e5d)]:
  232. - @firebase/component@0.5.3
  233. ## 2.3.6
  234. ### Patch Changes
  235. - [`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.
  236. [4971](https://github.com/firebase/firebase-js-sdk/pull/4971) didn't actually fix it.
  237. ## 2.3.5
  238. ### Patch Changes
  239. - [`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.
  240. - Updated dependencies [[`4c4b6aed9`](https://github.com/firebase/firebase-js-sdk/commit/4c4b6aed9757c9a7e75fb698a15e53274f93880b)]:
  241. - @firebase/component@0.5.2
  242. ## 2.3.4
  243. ### Patch Changes
  244. - Updated dependencies [[`10fb5b87f`](https://github.com/firebase/firebase-js-sdk/commit/10fb5b87faecf3aa79e15545b21de99af3e51a71)]:
  245. - @firebase/webchannel-wrapper@0.5.0
  246. ## 2.3.3
  247. ### Patch Changes
  248. - Updated dependencies [[`5fbc5fb01`](https://github.com/firebase/firebase-js-sdk/commit/5fbc5fb0140d7da980fd7ebbfbae810f8c64ae19)]:
  249. - @firebase/component@0.5.1
  250. ## 2.3.2
  251. ### Patch Changes
  252. - [`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}`.
  253. ## 2.3.1
  254. ### Patch Changes
  255. - [`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.
  256. ## 2.3.0
  257. ### Minor Changes
  258. - [`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.
  259. ### Patch Changes
  260. - 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)]:
  261. - @firebase/component@0.5.0
  262. - @firebase/firestore-types@2.3.0
  263. - @firebase/util@1.1.0
  264. ## 2.2.5
  265. ### Patch Changes
  266. - [`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
  267. * [`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
  268. ## 2.2.4
  269. ### Patch Changes
  270. - [`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
  271. - Updated dependencies [[`7354a0ed4`](https://github.com/firebase/firebase-js-sdk/commit/7354a0ed438f4e3df6577e4927e8c8f8f1fbbfda)]:
  272. - @firebase/util@1.0.0
  273. - @firebase/component@0.4.1
  274. ## 2.2.3
  275. ### Patch Changes
  276. - Updated dependencies [[`f24d8961b`](https://github.com/firebase/firebase-js-sdk/commit/f24d8961b3b87821413297688803fc85113086b3)]:
  277. - @firebase/component@0.4.0
  278. ## 2.2.2
  279. ### Patch Changes
  280. - [`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.
  281. - Updated dependencies [[`de5f90501`](https://github.com/firebase/firebase-js-sdk/commit/de5f9050137acc9ed1490082e5aa429b5de3cb2a)]:
  282. - @firebase/util@0.4.1
  283. - @firebase/component@0.3.1
  284. ## 2.2.1
  285. ### Patch Changes
  286. - [`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.
  287. - Updated dependencies [[`5c1a83ed7`](https://github.com/firebase/firebase-js-sdk/commit/5c1a83ed70bae979322bd8751c0885d683ce4bf3)]:
  288. - @firebase/component@0.3.0
  289. ## 2.2.0
  290. ### Minor Changes
  291. - [`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)`
  292. ### Patch Changes
  293. - Updated dependencies [[`ec95df3d0`](https://github.com/firebase/firebase-js-sdk/commit/ec95df3d07e5f091f2a7f7327e46417f64d04b4e), [`b6080a857`](https://github.com/firebase/firebase-js-sdk/commit/b6080a857b1b56e10db041e6357acd69154e31fb)]:
  294. - @firebase/util@0.4.0
  295. - @firebase/firestore-types@2.2.0
  296. - @firebase/component@0.2.1
  297. ## 2.1.7
  298. ### Patch Changes
  299. - Updated dependencies [[`6afe42613`](https://github.com/firebase/firebase-js-sdk/commit/6afe42613ed3d7a842d378dc1a09a795811db2ac)]:
  300. - @firebase/component@0.2.0
  301. ## 2.1.6
  302. ### Patch Changes
  303. - [`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.
  304. * [`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
  305. ## 2.1.5
  306. ### Patch Changes
  307. - [`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.
  308. ## 2.1.4
  309. ### Patch Changes
  310. - [`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)
  311. ## 2.1.3
  312. ### Patch Changes
  313. - [`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.
  314. ## 2.1.2
  315. ### Patch Changes
  316. - [`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.
  317. * [`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.
  318. ## 2.1.1
  319. ### Patch Changes
  320. - [`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.
  321. ## 2.1.0
  322. ### Minor Changes
  323. - [`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
  324. be enabled via an additional import: 'firebase/firestore/bundle'. For CDN usage,
  325. it is enabled by default.
  326. * [`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.
  327. ### Patch Changes
  328. - Updated dependencies [[`b662f8c0a`](https://github.com/firebase/firebase-js-sdk/commit/b662f8c0a9890cbdcf53cce7fe01c2a8a52d3d2d)]:
  329. - @firebase/firestore-types@2.1.0
  330. ## 2.0.5
  331. ### Patch Changes
  332. - [`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.
  333. * [`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.
  334. ## 2.0.4
  335. ### Patch Changes
  336. - [`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.
  337. - Updated dependencies [[`9822e125c`](https://github.com/firebase/firebase-js-sdk/commit/9822e125c399ae7271d4a9077f82b184a44526e4)]:
  338. - @firebase/webchannel-wrapper@0.4.1
  339. ## 2.0.3
  340. ### Patch Changes
  341. - [`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.
  342. * [`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`.
  343. ## 2.0.2
  344. ### Patch Changes
  345. - [`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`.
  346. * [`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
  347. - [`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.
  348. ## 2.0.1
  349. ### Patch Changes
  350. - [`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.
  351. - Updated dependencies [[`9cf727fcc`](https://github.com/firebase/firebase-js-sdk/commit/9cf727fcc3d049551b16ae0698ac33dc2fe45ada)]:
  352. - @firebase/util@0.3.4
  353. - @firebase/component@0.1.21
  354. ## 2.0.0
  355. ### Major Changes
  356. - [`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.
  357. * [`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.
  358. - [`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.
  359. * [`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.
  360. ### Minor Changes
  361. - [`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
  362. * [`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.
  363. ### Patch Changes
  364. - [`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.
  365. Before this change
  366. ```
  367. import * as firebase from 'firebase/app';
  368. ```
  369. After this change
  370. ```
  371. import firebase from 'firebase/app';
  372. ```
  373. - 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)]:
  374. - @firebase/component@0.1.20
  375. - @firebase/util@0.3.3
  376. - @firebase/firestore-types@2.0.0
  377. ## 1.18.0
  378. ### Minor Changes
  379. - [`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
  380. enabled, the SDK's underlying transport (WebChannel) automatically detects if
  381. long-polling should be used. This is very similar to
  382. `experimentalForceLongPolling`, but only uses long-polling if required.
  383. ### Patch Changes
  384. - [`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.
  385. - Updated dependencies [[`4f997bce1`](https://github.com/firebase/firebase-js-sdk/commit/4f997bce102be272b76836b6bcba96ea7de857bc)]:
  386. - @firebase/firestore-types@1.14.0
  387. - @firebase/webchannel-wrapper@0.4.0
  388. ## 1.17.3
  389. ### Patch Changes
  390. - [`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.
  391. ## 1.17.2
  392. ### Patch Changes
  393. - [`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.
  394. ## 1.17.1
  395. ### Patch Changes
  396. - [`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).
  397. * [`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.
  398. ## 1.17.0
  399. ### Minor Changes
  400. - [`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.
  401. * [`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.
  402. ### Patch Changes
  403. - [`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).
  404. - Updated dependencies [[`f9004177e`](https://github.com/firebase/firebase-js-sdk/commit/f9004177e76f00fc484d30c0c0e7b1bc2da033f9), [`a8ff3dbaa`](https://github.com/firebase/firebase-js-sdk/commit/a8ff3dbaacd06371e6652a6d639ef2d9bead612b)]:
  405. - @firebase/firestore-types@1.13.0
  406. ## 1.16.7
  407. ### Patch Changes
  408. - [`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.
  409. - Updated dependencies [[`da1c7df79`](https://github.com/firebase/firebase-js-sdk/commit/da1c7df7982b08bbef82fcc8d93255f3e2d23cca), [`fb3b095e4`](https://github.com/firebase/firebase-js-sdk/commit/fb3b095e4b7c8f57fdb3172bc039c84576abf290)]:
  410. - @firebase/component@0.1.19
  411. - @firebase/util@0.3.2
  412. ## 1.16.6
  413. ### Patch Changes
  414. - [`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
  415. settings from a previous call. This allows adding settings on top of the settings that were applied
  416. by `@firebase/testing`.
  417. - Updated dependencies [[`61b4cd31b`](https://github.com/firebase/firebase-js-sdk/commit/61b4cd31b961c90354be38b18af5fbea9da8d5a3)]:
  418. - @firebase/firestore-types@1.12.1
  419. ## 1.16.5
  420. ### Patch Changes
  421. - [`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.
  422. * [`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`.
  423. ## 1.16.4
  424. ### Patch Changes
  425. - [`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.
  426. * [`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.
  427. * Updated dependencies [[`d4ca3da0`](https://github.com/firebase/firebase-js-sdk/commit/d4ca3da0a59fcea1261ba69d7eb663bba38d3089)]:
  428. - @firebase/util@0.3.1
  429. - @firebase/component@0.1.18
  430. ## 1.16.3
  431. ### Patch Changes
  432. - Updated dependencies [[`7f0860a4`](https://github.com/firebase/firebase-js-sdk/commit/7f0860a4ced76da8492ae44d2267a2f1cc58eccb)]:
  433. - @firebase/webchannel-wrapper@0.3.0
  434. ## 1.16.2
  435. ### Patch Changes
  436. - Updated dependencies [[`a87676b8`](https://github.com/firebase/firebase-js-sdk/commit/a87676b84b78ccc2f057a22eb947a5d13402949c)]:
  437. - @firebase/util@0.3.0
  438. - @firebase/component@0.1.17
  439. ## 1.16.1
  440. ### Patch Changes
  441. - [`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.
  442. * [`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
  443. reestablishing a network connection if a connectivity change occurred while
  444. the app was in the background.
  445. ## 1.16.0
  446. ### Minor Changes
  447. - [`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`.
  448. * [`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.
  449. ### Patch Changes
  450. - [`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
  451. * [`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.
  452. * Updated dependencies [[`a754645e`](https://github.com/firebase/firebase-js-sdk/commit/a754645ec2be1b8c205f25f510196eee298b0d6e), [`39ca8ecf`](https://github.com/firebase/firebase-js-sdk/commit/39ca8ecf940472159d0bc58212f34a70146da60c)]:
  453. - @firebase/component@0.1.16
  454. - @firebase/logger@0.2.6
  455. - @firebase/firestore-types@1.12.0
  456. * [fixed] Fixed an issue that may have prevented the client from connecting
  457. to the backend immediately after a user signed in.
  458. ## 1.15.0
  459. - [feature] Added an `experimentalForceOwningTab` setting that can be used to
  460. enable persistence in environments without LocalStorage, which allows
  461. persistence to be used in Web Workers (#983).
  462. - [changed] All known failure cases for Indexed-related crashes have now been
  463. addressed. Instead of crashing the client, IndexedDB failures will result
  464. in rejected operations (e.g. rejected Writes or errored Query listeners).
  465. If these rejections surface in your app, you can retry these operations
  466. when IndexedDB access is restored.
  467. IndexedDB failures that occur due to background work are automatically
  468. retried.
  469. If you continue to see Indexed-related crashes, we appreciate feedback
  470. (https://github.com/firebase/firebase-js-sdk/issues/2755).
  471. ## 1.14.6
  472. - [fixed] Fixed an issue that could cause Firestore to temporarily go
  473. offline when a Window visibility event occurred.
  474. - [feature] Added support for calling `FirebaseFiresore.settings` with
  475. `{ ignoreUndefinedProperties: true }`. When set, Firestore ignores
  476. undefined properties inside objects rather than rejecting the API call.
  477. ## 1.14.4
  478. - [fixed] Fixed a regression introduced in v7.14.2 that incorrectly applied
  479. a `FieldValue.increment` in combination with `set({...}, {merge: true})`.
  480. ## 1.14.3
  481. - [fixed] Firestore now rejects `onSnapshot()` listeners if they cannot be
  482. registered in IndexedDB. Previously, these errors crashed the client.
  483. ## 1.14.2
  484. - [fixed] Firestore now rejects write operations if they cannot be persisted
  485. in IndexedDB. Previously, these errors crashed the client.
  486. - [fixed] Fixed a source of IndexedDB-related crashes for tabs that receive
  487. multi-tab notifications while the file system is locked.
  488. ## 1.10.2
  489. - [fixed] Temporarily reverted the use of window.crypto to generate document
  490. IDs to address compatibility issues with IE 11, WebWorkers, and React Native.
  491. - [changed] Firestore now limits the number of concurrent document lookups it
  492. will perform when resolving inconsistencies in the local cache (#2683).
  493. - [changed] Changed the in-memory representation of Firestore documents to
  494. reduce memory allocations and improve performance. Calls to
  495. `DocumentSnapshot.getData()` and `DocumentSnapshot.toObject()` will see
  496. the biggest improvement.
  497. ## 1.10.1
  498. - [fixed] Fixed an issue where the number value `-0.0` would lose its sign when
  499. stored in Firestore.
  500. ## 1.10.0
  501. - [feature] Implemented `Timestamp.valueOf()` so that `Timestamp` objects can be
  502. compared for relative ordering using the JavaScript arithmetic comparison
  503. operators (#2632).
  504. - [fixed] Fixed an issue where auth credentials were not respected in Cordova
  505. environments (#2626).
  506. - [fixed] Fixed a performance regression introduced by the addition of
  507. `Query.limitToLast(n: number)` in Firestore 1.7.0 (Firebase 7.3.0) (#2620).
  508. - [fixed] Fixed an issue where `CollectionReference.add()` would reject
  509. custom types when using `withConverter()` (#2606).
  510. ## 1.9.3
  511. - [fixed] Fixed an issue where auth credentials were not respected in some
  512. Firefox or Chrome extensions. (#1491)
  513. - [changed] Firestore previously required that every document read in a
  514. transaction must also be written. This requirement has been removed, and
  515. you can now read a document in transaction without writing to it.
  516. ## 1.9.2
  517. - [fixed] Fixed an issue where auth credentials were not respected in certain
  518. browser environments (Electron 7, IE11 in trusted zone, UWP apps). (#1491)
  519. ## 1.9.0
  520. - [feature] Added support for storing and retrieving custom types in Firestore.
  521. Added support for strongly typed collections, documents, and
  522. queries. You can now use `withConverter()` to supply a custom data
  523. converter that will convert between Firestore data and your custom type.
  524. ## 1.8.0
  525. - [changed] Improved the performance of repeatedly executed queries when
  526. persistence is enabled. Recently executed queries should see dramatic
  527. improvements. This benefit is reduced if changes accumulate while the query
  528. is inactive. Queries that use the `limit()` API may not always benefit,
  529. depending on the accumulated changes.
  530. ## 1.7.0
  531. - [changed] The client can now recover if certain periodic IndexedDB operations
  532. fail.
  533. - [feature] Added `in` and `array-contains-any` query operators for use with
  534. `.where()`. `in` finds documents where a specified field’s value is IN a
  535. specified array. `array-contains-any` finds documents where a specified field
  536. is an array and contains ANY element of a specified array.
  537. - [feature] Added `Query.limitToLast(n: number)` , which returns the last
  538. `n` documents as the result.
  539. ## 1.6.3
  540. - [changed] Improved iOS 13 support by eliminating an additional crash in our
  541. IndexedDB persistence layer.
  542. ## 1.6.2
  543. - [changed] Fixed a crash on iOS 13 that occurred when persistence was enabled
  544. in a background tab (#2232).
  545. - [fixed] Fixed an issue in the interaction with the Firestore Emulator that
  546. caused requests with timestamps to fail.
  547. ## 1.6.0
  548. - [feature] Added a `Firestore.onSnapshotsInSync()` method that notifies you
  549. when all your snapshot listeners are in sync with each other.
  550. - [fixed] Fixed a regression that caused queries with nested field filters to
  551. crash the client if the field was not present in the local copy of the
  552. document.
  553. ## 1.5.0
  554. - [feature] Added a `Firestore.waitForPendingWrites()` method that
  555. allows users to wait until all pending writes are acknowledged by the
  556. Firestore backend.
  557. - [feature] Added a `Firestore.terminate()` method which terminates
  558. the instance, releasing any held resources. Once it completes, you can
  559. optionally call `Firestore.clearPersistence()` to wipe persisted Firestore
  560. data from disk.
  561. - [changed] Improved performance for queries with filters that only return a
  562. small subset of the documents in a collection.
  563. - [fixed] Fixed a race condition between authenticating and initializing
  564. Firestore that could result in initial writes to the database being dropped.
  565. ## 1.4.10
  566. - [changed] Transactions now perform exponential backoff before retrying.
  567. This means transactions on highly contended documents are more likely to
  568. succeed.
  569. ## 1.4.6
  570. - [changed] Transactions are now more flexible. Some sequences of operations
  571. that were previously incorrectly disallowed are now allowed. For example,
  572. after reading a document that doesn't exist, you can now set it multiple
  573. times successfully in a transaction.
  574. ## 1.4.5
  575. - [fixed] Fixed an issue where query results were temporarily missing
  576. documents that previously had not matched but had been updated to now
  577. match the query (https://github.com/firebase/firebase-android-sdk/issues/155).
  578. ## 1.4.4
  579. - [fixed] Fixed an internal assertion that was triggered when an update
  580. with a `FieldValue.serverTimestamp()` and an update with a
  581. `FieldValue.increment()` were pending for the same document.
  582. ## 1.4.0
  583. - [changed] Added logging and a custom error message to help users hitting
  584. https://bugs.webkit.org/show_bug.cgi?id=197050 (a bug in iOS 12.2 causing
  585. the SDK to potentially crash when persistence is enabled).
  586. - [fixed] Fixed an issue for environments missing `window.addEventListener`,
  587. such as in React Native with Expo (#1824).
  588. ## 1.3.5
  589. - [feature] Added `clearPersistence()`, which clears the persistent storage
  590. including pending writes and cached documents. This is intended to help
  591. write reliable tests (#449).
  592. ## 1.3.3
  593. - [changed] Firestore now recovers more quickly after network connectivity
  594. changes (airplane mode, Wi-Fi availability, etc.).
  595. ## 1.3.0
  596. - [changed] Deprecated the `experimentalTabSynchronization` setting in favor of
  597. `synchronizeTabs`. If you use multi-tab synchronization, it is recommended
  598. that you update your call to `enablePersistence()`. Firestore logs an error
  599. if you continue to use `experimentalTabSynchronization`.
  600. - [feature] You can now query across all collections in your database with a
  601. given collection ID using the `FirebaseFirestore.collectionGroup()` method.
  602. ## 1.1.4
  603. - [feature] Added an `experimentalForceLongPolling` setting that that can be
  604. used to work around proxies that prevent the Firestore client from connecting
  605. to the Firestore backend.
  606. ## 1.1.1
  607. - [changed] Increased a connection timeout that could lead to large writes
  608. perputually retrying without ever succeeding (#1447).
  609. - [fixed] Fixed an issue with IndexedDb persistence that triggered an internal
  610. assert for Queries that use nested DocumentReferences in where() clauses
  611. (#1524, #1596).
  612. - [fixed] Fixed an issue where transactions in a Node.JS app could be sent
  613. without auth credentials, leading to Permission Denied errors.
  614. ## 1.1.0
  615. - [feature] Added `FieldValue.increment()`, which can be used in `update()`
  616. and `set(..., {merge:true})` to increment or decrement numeric field
  617. values safely without transactions.
  618. - [changed] Prepared the persistence layer to support collection group queries.
  619. While this feature is not yet available, all schema changes are included
  620. in this release. Once you upgrade, you will not be able to use an older version
  621. of the Firestore SDK with persistence enabled.
  622. ## 1.0.5
  623. - [changed] Improved performance when querying over documents that contain
  624. subcollections.
  625. ## 1.0.4
  626. - [fixed] Fixed an uncaught promise error occurring when `enablePersistence()`
  627. was called in a second tab (#1531).
  628. ## 1.0.0
  629. - [changed] The `timestampsInSnapshots` setting is now enabled by default.
  630. Timestamp fields that read from a `DocumentSnapshot` are now returned as
  631. `Timestamp` objects instead of `Date` objects. This is a breaking change;
  632. developers must update any code that expects to receive a `Date` object. See
  633. https://firebase.google.com/docs/reference/js/firebase.firestore.Settings#~timestampsInSnapshots
  634. for more details.
  635. - [fixed] Fixed a crash that could happen when the app is shut down after
  636. a write has been sent to the server but before it has been received on
  637. a listener.
  638. ## 0.9.2
  639. - [fixed] Fixed a regression introduced in 5.7.0 that caused apps using
  640. experimentalTabSynchronization to hit an exception for "Failed to obtain
  641. primary lease for action 'Collect garbage'".
  642. ## 0.9.1
  643. - [changed] Added a custom error for schema downgrades.
  644. ## 0.9.0
  645. - [changed] Removed eval()-based fallback for JSON parsing, allowing SDK to
  646. be used in environments that prohibit eval().
  647. - [feature] Added a garbage collection process to on-disk persistence that
  648. removes older documents. This is enabled automatically if persistence is
  649. enabled, and the SDK will attempt to periodically clean up older, unused
  650. documents once the on-disk cache passes a threshold size (default: 40 MB).
  651. This threshold can be configured by changing the setting `cacheSizeBytes` in
  652. the settings passed to `Firestore.settings()`. It must be set to a minimum of
  653. 1 MB. The garbage collection process can be disabled entirely by setting
  654. `cacheSizeBytes` to `CACHE_SIZE_UNLIMITED`.
  655. ## 0.8.3
  656. - [fixed] Fixed an issue that prevented query synchronization between multiple
  657. tabs.
  658. ## 0.8.2
  659. - [fixed] Fixed an issue where native ES6 module loading was not working.
  660. ## 0.8.1
  661. - [fixed] Fixed an issue where typings are created in the wrong location.
  662. ## 0.8.0
  663. - [feature] Access to offline persistence is no longer limited to a single tab.
  664. You can opt into this new experimental mode by invoking `enablePersistence()`
  665. with `{experimentalTabSynchronization: true}`. All tabs accessing persistence
  666. must use the same setting for this flag.
  667. - [fixed] Fixed an issue where the first `get()` call made after being offline
  668. could incorrectly return cached data without attempting to reach the backend.
  669. - [changed] Changed `get()` to only make one attempt to reach the backend before
  670. returning cached data, potentially reducing delays while offline.
  671. - [fixed] Fixed an issue that caused Firebase to drop empty objects from calls
  672. to `set(..., { merge: true })`.
  673. - [changed] Improved argument validation for several API methods.
  674. ## 0.7.3
  675. - [changed] Changed the internal handling for locally updated documents that
  676. haven't yet been read back from Firestore. This can lead to slight behavior
  677. changes and may affect the `SnapshotMetadata.hasPendingWrites` metadata flag.
  678. - [changed] Eliminated superfluous update events for locally cached documents
  679. that are known to lag behind the server version. Instead, we buffer these
  680. events until the client has caught up with the server.
  681. ## 0.7.2
  682. - [fixed] Fixed a regression that prevented use of Firestore on ReactNative's
  683. Expo platform (#1138).
  684. ## 0.7.0
  685. - [fixed] Fixed `get({source: 'cache'})` to be able to return nonexistent
  686. documents from cache.
  687. - [changed] Prepared the persistence layer to allow shared access from multiple
  688. tabs. While this feature is not yet available, all schema changes are included
  689. in this release. Once you upgrade, you will not be able to use an older version
  690. of the Firestore SDK with persistence enabled.
  691. - [fixed] Fixed an issue where changes to custom authentication claims did not
  692. take effect until you did a full sign-out and sign-in.
  693. (firebase/firebase-ios-sdk#1499)
  694. ## 0.6.1
  695. - [changed] Improved how Firestore handles idle queries to reduce the cost of
  696. re-listening within 30 minutes.
  697. - [changed] Improved offline performance with many outstanding writes.
  698. ## 0.6.0
  699. - [fixed] Fixed an issue where queries returned fewer results than they should,
  700. caused by documents that were cached as deleted when they should not have
  701. been (firebase/firebase-ios-sdk#1548). Because some cache data is cleared,
  702. clients might use extra bandwidth the first time they launch with this
  703. version of the SDK.
  704. - [feature] Added `firebase.firestore.FieldValue.arrayUnion()` and
  705. `firebase.firestore.FieldValue.arrayRemove()` to atomically add and remove
  706. elements from an array field in a document.
  707. - [feature] Added `'array-contains'` query operator for use with `.where()` to
  708. find documents where an array field contains a specific element.
  709. ## 0.5.0
  710. - [changed] Merged the `includeQueryMetadataChanges` and
  711. `includeDocumentMetadataChanges` options passed to `Query.onSnapshot()` into
  712. a single `includeMetadataChanges` option.
  713. - [changed] `QuerySnapshot.docChanges()` is now a method that optionally takes
  714. an `includeMetadataChanges` option. By default, even when listening to a query
  715. with `{ includeMetadataChanges:true }`, metadata-only document changes are
  716. suppressed in `docChanges()`.
  717. - [feature] Added new `{ mergeFields: (string|FieldPath)[] }` option to `set()`
  718. which allows merging of a reduced subset of fields.
  719. ## 0.4.1
  720. - [fixed] Fixed a regression in Firebase JS release 4.13.0 regarding the
  721. loading of proto files, causing Node.JS support to break.
  722. ## 0.4.0
  723. - [feature] Added a new `Timestamp` class to represent timestamp fields,
  724. currently supporting up to microsecond precision. It can be passed to API
  725. methods anywhere a JS Date object is currently accepted. To make
  726. `DocumentSnapshot`s read timestamp fields back as `Timestamp`s instead of
  727. Dates, you can set the newly added flag `timestampsInSnapshots` in
  728. `FirestoreSettings` to `true`. Note that the current behavior
  729. (`DocumentSnapshot`s returning JS Date objects) will be removed in a future
  730. release. `Timestamp` supports higher precision than JS Date.
  731. - [feature] Added ability to control whether DocumentReference.get() and
  732. Query.get() should fetch from server only, (by passing { source: 'server' }),
  733. cache only (by passing { source: 'cache' }), or attempt server and fall back
  734. to the cache (which was the only option previously, and is now the default).
  735. ## 0.3.7
  736. - [fixed] Fixed a regression in the Firebase JS release 4.11.0 that could
  737. cause get() requests made while offline to be delayed by up to 10
  738. seconds (rather than returning from cache immediately).
  739. # 0.3.6
  740. - [fixed] Fixed a regression in the Firebase JS release 4.11.0 that could
  741. cause a crash if a user signs out while the client is offline, resulting in
  742. an error of "Attempted to schedule multiple operations with timer id
  743. listen_stream_connection_backoff".
  744. ## 0.3.5
  745. - [changed] If the SDK's attempt to connect to the Cloud Firestore backend
  746. neither succeeds nor fails within 10 seconds, the SDK will consider itself
  747. "offline", causing get() calls to resolve with cached results, rather than
  748. continuing to wait.
  749. - [fixed] Fixed a potential race condition after calling `enableNetwork()` that
  750. could result in a "Mutation batchIDs must be acknowledged in order" assertion
  751. crash.
  752. ## 0.3.2
  753. - [fixed] Fixed a regression in Firebase JS release 4.9.0 that could in certain
  754. cases result in an "OnlineState should not affect limbo documents." assertion
  755. crash when the client loses its network connection.
  756. ## 0.3.1
  757. - [changed] Snapshot listeners (with the `includeMetadataChanges` option
  758. enabled) now receive an event with `snapshot.metadata.fromCache` set to
  759. `true` if the SDK loses its connection to the backend. A new event with
  760. `snapshot.metadata.fromCache` set to false will be raised once the
  761. connection is restored and the query is in sync with the backend again.
  762. - [feature] Added `SnapshotOptions` API to control how DocumentSnapshots
  763. return unresolved server timestamps.
  764. - [feature] Added `disableNetwork()` and `enableNetwork()` methods to
  765. `Firestore` class, allowing for explicit network management.
  766. - [changed] For non-existing documents, `DocumentSnapshot.data()` now returns
  767. `undefined` instead of throwing an exception. A new
  768. `QueryDocumentSnapshot` class is introduced for Queries to reduce the number
  769. of undefined-checks in your code.
  770. - [added] Added `isEqual` API to `GeoPoint`, `Blob`, `SnapshotMetadata`,
  771. `DocumentSnapshot`, `QuerySnapshot`, `CollectionReference`, `FieldValue`
  772. and `FieldPath`.
  773. - [changed] A "Could not reach Firestore backend." message will be
  774. logged when the initial connection to the Firestore backend fails.
  775. - [changed] A "Using maximum backoff delay to prevent overloading the
  776. backend." message will be logged when we get a resource-exhausted
  777. error from the backend.
  778. ## v0.2.1
  779. - [feature] Added Node.js support for Cloud Firestore (with the exception of
  780. the offline persistence feature).
  781. - [changed] Webchannel requests use \$httpHeaders URL parameter rather than
  782. normal HTTP headers to avoid an extra CORS preflight request when initiating
  783. streams / RPCs.
  784. ## v0.1.4
  785. - [changed] Network streams are automatically closed after 60 seconds of
  786. idleness.
  787. - [changed] We no longer log 'RPC failed' messages for expected failures.
  788. ## v0.1.2
  789. - [changed] We now support `FieldValue.delete()` sentinels in `set()` calls
  790. with `{merge:true}`.
  791. - [fixed] Fixed validation of nested arrays to allow indirect nesting
  792. ## v0.1.1
  793. - [fixed] Fixed an issue causing exceptions when trying to use
  794. `firebase.firestore.FieldPath.documentId()` in an `orderBy()` or `where()`
  795. clause in a query.
  796. ## v0.1.0
  797. - Initial public release.