06dc1364d
#6901 - Allow users to specify their environment as node
or browser
to override Firebase’s runtime environment detection and force the SDK to act as if it were in the respective environment.a67eb5d04
, d8af08feb
, a4056634a
, a7622d49f
, 1455bfa43
, 50b8191f6
, 37f31c57b
, d4114a4f7
, 06dc1364d
]:
fde5adf63
#6694 - Functions in the Firestore package that return QueryConstraints (for example: where(...)
, limit(...)
, and orderBy(...)
)
now return a more specific type, which extends QueryConstraint. Refactoring and code that supports future features is also
included in this release.
7e237cd47
#6826 - Modify entry point ESM bundles to conform to Node ESM specs.
Updated dependencies [ab3f16cba
, 37dd6f6f4
, fde5adf63
, e650f6498
, c20633ed3
, 1625f7a95
]:
0c0c58f47
#6773 - Add missing package that should have been included in https://github.com/firebase/firebase-js-sdk/pull/6728bf7cc8f69
#6712 (fixes #6613) - Fix “missing index” error message to include the link to create the composite index.
e2a90bf67
#6729 - Fix transaction.set() failure without retry on “already-exists” error.
Updated dependencies [3f1354f1f
, bf7cc8f69
, 8876b783f
, 9e9ee7ba3
, 457fc2eeb
, e2a90bf67
]:
de1c717c2
, 4af28c1a4
, 4b9da74db
]:
5f55ed828
, 807f06aa2
, 03d1fabcb
]:
397317b53
#6643 - Set withCredentials=true when making requests via non-streaming RPCs, like is done for streaming RPCs.0a112bd2a
#6624 (fixes #5873) - Fix Firestore failing to raise initial snapshot from empty local cache result
Updated dependencies [0a112bd2a
, 5aa48d0ab
, 4eb8145fb
, 397317b53
, 171b78b76
, 1fbc4c4b7
, 29d034072
]:
fdd4ab464
#6526 - Add functionality to auto-initialize project config and emulator settings from global defaults provided by framework tooling.
ee871fc0b
#6608 - Added getCountFromServer()
(getCount()
in the Lite SDK), which fetches the number of documents in the result set without actually downloading the documents.
e35db6f95
, fdd4ab464
, c6ba6fc0f
, b3951c6e4
, ee871fc0b
]:
7c0c640a4
#6107 - Enable encodeInitMessageHeaders. This transitions the Firestore client from encoding HTTP Headers via the Query Param to the request’s POST payload.Requires Cloud Firestore Emulator v1.14.4 or newer.
1d3a34d7d
#6376 - Add function setConsent()
to set the applicable end user “consent” state.
69e2ee064
#6367 - Add function setDefaultEventParameters()
to set data that will be logged on every Analytics SDK event
5edd81fb5
#6404 - Add installations CDN build and entry point.
Updated dependencies [c187446a2
, b12af44a5
, 1d3a34d7d
, 69e2ee064
, 1261d8323
, 6a8be1337
, e673dc808
, ad773fa45
, 8c52a96ed
]:
578dc5836
, 835f1d46a
, efe2000fc
]:
2cd1cc76f
#6307 (fixes #6300) - fix: add type declarations to exports field
Updated dependencies [2cd1cc76f
, 497d34c84
, d6338f0af
, d4b52b612
, c66d59c3d
]:
07cf0f1c9
]:
874cdbbcc
, 9c5c9c36d
, dfab18af6
, 1ac3c9d41
, 9c6808fea
]:
e9e5f6b3c
, 05dc9d6a0
, 7a4e65cef
]:
3198d58dc
, 349648917
, 69aa7b02d
]:
2d672cead
, 7405e7d59
, a7f4a2eb6
, ddeff8384
, 927c1afc1
]:
3b481f572
, e3a5248fc
, 7f05d22e8
]:
086df7c7e
]:
e34e98e73
#5672 (fixes #76) - Adds getBytes()
, getStream()
and getBlob()
, which allow direct file downloads from the SDK.532b3cd93
#5675 (fixes #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.3281315fa
#5708 (fixes #1487) - Update build scripts to work with the exports field
Updated dependencies [532b3cd93
, 3281315fa
, dbd54f7c9
]:
31bd6f27f
, 2322b6023
, 61604979c
, 0765b5e19
]:
4d3640481
#5532 (fixes #5499) - Fix exports field to also point to Node ESM builds. This change requires Node.js version 10+.
b6f30c24f
#5617 (fixes #5610) - Fix behavior on subsequent calls to getRedirectResult()
f0f6d74b5
#5664 (fixes #5644) - Fix compatability layer errors that were being thrown in Safari
Updated dependencies [4d3640481
, b6f30c24f
, 69ff8eb54
, 2429ac105
, 4594d3fd6
, 6dacc2400
, f48527617
, c75bbe957
]:
a7e00b9eb
, 352cc2647
, 93795c780
]:
3e920c888
#5573 - Fixed App Check compat package to correctly export and handle ReCaptchaV3Provider
and CustomProvider
classes.
Updated dependencies [a4e770e58
, 1b0e7af13
, e1d551ddb
, f7d8324a1
, e456d00a7
, 3e920c888
]:
49b0406ab
]:
dfe65ff9b
, b835b4cba
, f90c1d081
, 08c098211
, f78ceca1c
, e62d02e52
, a5d87bc5c
, a99943fe3
, b835b4cba
, 07b88e6e8
, b835b4cba
, b835b4cba
, 4d2a54fb0
, c2362214a
, b79bd33e4
, a99943fe3
]:
08ec55d6d
, 8180a2b77
, b8462f248
, 271303f3c
, bf5772f64
, dca28a10d
, deda8cd85
, 66d4a1e5d
]:
5bc6afb75
#5268 (fixes #4277) - This change contains multiple quality-of-life improvements when using the FirestoreDataConverter
in @firebase/firestore/lite
and @firebase/firestore
:
FieldValue
property values when using a converter (via WithFieldValue<T>
and PartialWithFieldValue<T>
).{merge: true}
with a converter (via PartialWithFieldValue<T>
).UpdateData
). Improperly typed fields in
update operations on typed document references will no longer compile.5bc6afb75
, cdada6c68
]:
d0710d500
#5139 - Allows retrieval of messageId
from MessagePayload
.
3c6a11c8d
#5282 - Implement mockUserToken for Storage and fix JWT format bugs.
fbb32e7bf
, d0710d500
, 3c6a11c8d
, f825b1d83
]:
f1027e3c2
#5261 (fixes #5258) - Fixed argument typings for activate()
.
Updated dependencies [f1027e3c2
]:
8599d9141
#4902 - Add RecaptchaV3Provider
and CustomProvider
classes that can be supplied to firebase.appCheck().activate()
.
bd50d8310
#5206 - Fix formatting of links in comments and update some event typings to correctly match GA4 specs.
a3cbe719b
, 3d10d33bc
]:
b3caa5158
#5149 - Add NodeJS support to Cloud Storage for Firebase. This release changes the main
field in package.json to point to a Node specific build. If you are building a bundle for borwser usage, please make sure that your bundler uses the browser
field (the default).
02586c975
#5070 - Add firebase_screen
and firebase_screen_class
to logEvent()
overload for screen_view
events.
2cd9d7c39
#5147 (fixes #5047) - Fixed an issue that prevented Timestamps from being used via update()
when connected to the Emulator
Updated dependencies [b3caa5158
, b51be1da3
, 2cd9d7c39
, fb3e35965
]:
99414a51c
]:
870dd5e35
, 5d007b8fb
, 5d31e2192
, 56a6a9d4a
]:
c81cf82fa
]:
1d54447ca
]:
4c4b6aed9
]:
b49345d31
#4283 (fixes #4235) - set firebase.SDK_VERSION to the latest value
Updated dependencies [92e4e8d29
]:
Updated dependencies [81c131abe
]:
97f61e6f3
#4837 (fixes #4715) - Add mockUserToken support for Firestore.
ac4ad08a2
#4792 - Add mockUserToken support for database emulator.
74fa5064a
]:
5ae73656d
#4346 - Add storage().useEmulator()
method to enable emulator mode for storage, allowing users
to set a storage emulator host and port.f24d8961b
]:
5c1a83ed7
]:
b6080a857
#4577 - Added support to remove a FirestoreDataConverter on a Firestore reference by calling withConverter(null)
d4ba8daa2
#4469 - Change the eventParams
argument in the signature of analytics().logEvent()
to be optional.74bf52009
]:
05614aa86
#4427 - Add startAfter()
and endBefore()
to the Realtime Database TypeScript definitions.
Updated dependencies [a718518e9
, 3d0cd6f33
, 318af5471
, 05614aa86
]:
50abe6c4d
]:
b662f8c0a
#4168 - Release Firestore Bundles (pre-packaged Firestore data). For NPM users, this can
be enabled via an additional import: ‘firebase/firestore/bundle’. For CDN usage,
it is enabled by default.
c9f379cf7
#4112 - Add option to hide banner in auth when using the emulator
6f2c7b7aa
#3896 - Dispatch up to 1000 events for each network request when collecting performance events.
Updated dependencies [b662f8c0a
, 1b5407372
, 6f2c7b7aa
, c9f379cf7
]:
4f6313262
#4096 - Add the missing type definition for ‘Query.get()’ for RTDB
Updated dependencies [9822e125c
]:
a5768b0aa
#3932 - Point browser field to esm build. Now you need to use default import instead of namespace import to import firebase.Before this change
import * as firebase from 'firebase/app';
After this change
import firebase from 'firebase/app';
8939aeca0
#3944 - Removed the undocumented Firestore.logLevel
property.
344bd8856
#3943 - Removed depreacted experimentalTabSynchronization
settings. To enable multi-tab sychronization, use synchronizeTabs
instead.
4b540f91d
#3939 - This releases removes all input validation. Please use our TypeScript types to validate API usage.
ffef32e38
#3897 (fixes #3879) - Removed the timestampsInSnapshots
option from FirestoreSettings
. Now, Firestore always returns Timestamp
values for all timestamp values.
b247ffa76
#3967 - This releases removes all input validation. Please use our TypeScript types to validate API usage.
ef33328f7
#3904 - Add a useEmulator(host, port) method to Realtime Database
79b049375
#3909 - Add a useEmulator(host, port) method to Firestore
0322c1bda
#3906 - Add a useEmulator(host, port) method to Cloud Functions
602ec18e9
#3968 - Updated the type definition for ThenableReference
to only implement then
and catch
, which matches the implementation.
Updated dependencies [ef33328f7
, a5768b0aa
, 8939aeca0
, 79b049375
, 344bd8856
, 0322c1bda
, 4b540f91d
, ffef32e38
, 7d916d905
, 602ec18e9
, b247ffa76
, 9719635fe
]:
eeb1dfa4f
#3810 - Add ability to configure the SDK to communicate with the Firebase Auth emulator.
4f997bce1
#3724 - Adds a new experimentalAutoDetectLongPolling
to FirestoreSettings. When
enabled, the SDK’s underlying transport (WebChannel) automatically detects if
long-polling should be used. This is very similar to
experimentalForceLongPolling
, but only uses long-polling if required.
d4db75ff8
#3836 (fixes #3573) - Analytics now warns instead of throwing if it detects a browser environment where analytics does not work.48b0b0f7c
#3850 - Moved loggingEnabled
check to wait until performance initialization finishes, thus avoid dropping custom traces right after getting performance
object.
8728e1a0f
#3866 - Throws exception when startTime or duration is not positive value in trace.record()
API.
Updated dependencies [48b0b0f7c
, a10c18f89
, d4db75ff8
, 8728e1a0f
]:
b6b1fd95c
]:
7bf73797d
#3813 (fixes #414) - Escape unicodes when generating CDN scripts, so they work correctly in environments that requires UTF-8, for example, in Chrome extension.
f9004177e
#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.fb3b095e4
#2800 - Analytics now dynamically fetches the app’s Measurement ID from the Dynamic Config backend
instead of depending on the local Firebase config. It will fall back to any measurementId
value found in the local config if the Dynamic Config fetch fails.61b4cd31b
#3464 (fixes #3354) - feat: Added merge
option to firestore.settings()
, which merges the provided settings with
settings from a previous call. This allows adding settings on top of the settings that were applied
by @firebase/testing
.61b4cd31b
]:
29327b21
#3234 - Add getToken(options:{serviceWorkerRegistration, vapidKey})
,onBackgroundMessage
.
Deprecate setBackgroundMessageHandler
, onTokenRefresh
, useVapidKey
, useServiceWorker
, getToken
.Add Typing MessagePayload
, NotificationPayload
, FcmOptions
.
d4ca3da0
#3585 - Extended Usage of isIndexedDBAvailable
to Service Worker
2a0d254f
#3555 - Added Browser Extension check for Firebase Analytics. analytics.isSupported()
will now return Promise<false>
for extension environments.
Updated dependencies [36be62a8
, d4ca3da0
, 2a0d254f
, 29327b21
, 68995c24
]:
ef348fed
]:
a87676b8
#3472 - - Fix an error where an analytics PR included a change to @firebase/util
, but
the util package was not properly included in the changeset for a patch bump.
@firebase/util
adds environment check methods isIndexedDBAvailable
validateIndexedDBOpenable
, and areCookiesEnabled
.Updated dependencies [a87676b8
]:
02419ce8
#3165 - Issue 2393 fix - analytics module
isSupported
to Analytics module which returns true if current browser context supports initialization of analytics module.9c409ea7
#3224 Thanks @schmidt-sebastian! - [fix] Updated the TypeScript types for all APIs using Observers to allow callback omission.
5a355360
#3162 Thanks @schmidt-sebastian! - The SDK no longer crashes if an IndexedDB failure occurs when unsubscribing from a Query.
c2b737b2
#3228 Thanks @schmidt-sebastian! - [fix] Instead of using production auth, the SDK will use test credentials
to connect to the Emulator when the RTDB SDK is used via the Firebase
Admin SDK.
9a9a81fe
#3279 Thanks @schmidt-sebastian! - [fixed] Removed a delay that may have prevented Firestore from immediately
reestablishing a network connection if a connectivity change occurred while
the app was in the background.
Updated dependencies [b6145466
, 9c409ea7
, 5a355360
, c2b737b2
, 9a9a81fe
]:
39ca8ecf
#3254 Thanks @thebrianchen! - Added support for set()
with merge options when using FirestoreDataConverter
.
877c060c
#3251 Thanks @schmidt-sebastian! - Re-adding the ReactNative bundle, which allows Firestore to be used without btoa
/atob
Polyfills.
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5
17c628eb
#3312 Thanks @Feiyang1! - Fixed an issue where we try to update token for every getToken() call because we don’t save the updated token in the IndexedDB.
bb740836
#3330 Thanks @Feiyang1! - Clear timeout after a successful response or after the request is canceled. Fixes issue 3289.
e90304c8
#3309 Thanks @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.
469c8bdf
#3221 Thanks @zwu52! - Added support for onMessage
so the internal callback can work with Subscriber
Updated dependencies [a754645e
, 17c628eb
, bb740836
, 39ca8ecf
, 877c060c
, e90304c8
, 469c8bdf
]: