-
Notifications
You must be signed in to change notification settings - Fork 889
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version Packages #3357
Version Packages #3357
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
|
||
### Patch Changes | ||
|
||
- [`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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Feiyang1 Is it possible to remove the "thanks" part? It is nice for external contributors, but not sure if we need it for team members.
We also might not want to add release notes for updates to dev dependencies (and maybe also all @firebase
dependencies).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. We will need to write a custom generator. I'm not sure how to check for team member though, so we will probably completely remove the thanks part. I personally don't mind the thanks part, but if you feel strongly about it, I can make a custom generator.
We also might not want to add release notes for updates to dev dependencies
Generally speaking, devDependencies should not be included. Typescript and some build tools(e.g. rollup) are special cases because they could affect the content of the build artifacts, so I think their upgrades should be included in the changelog.
maybe also all @firebase dependencies
They are dependencies
, so their upgrades should be included in the changelog. There could be cases where only dependencies
are updated with no other changes. It should trigger a release in firestore and we want to show it in the changelog.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason I am kind of hesitant to include updates on internal dependencies is that it feels like clutter to me (but that is a personal opinion).
Android and iOS do not include them and we also exclude dependency updates for @google-cloud/firestore
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Christina
25d3d7c
to
73f8231
Compare
73f8231
to
0408a60
Compare
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to release, this PR will be updated.
Releases
firebase@7.16.0
Minor Changes
39ca8ecf
#3254 Thanks @thebrianchen! - Added support forset()
with merge options when usingFirestoreDataConverter
.877c060c
#3251 Thanks @schmidt-sebastian! - Re-adding the ReactNative bundle, which allows Firestore to be used withoutbtoa
/atob
Polyfills.Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.517c628eb
#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 foronMessage
so the internal callback can work with SubscriberUpdated dependencies [
a754645e
,17c628eb
,bb740836
,39ca8ecf
,877c060c
,e90304c8
,469c8bdf
]:@firebase/firestore@1.16.0
Minor Changes
39ca8ecf
#3254 Thanks @thebrianchen! - Added support forset()
with merge options when usingFirestoreDataConverter
.877c060c
#3251 Thanks @schmidt-sebastian! - Re-adding the ReactNative bundle, which allows Firestore to be used withoutbtoa
/atob
Polyfills.Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5e90304c8
#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.Updated dependencies [
a754645e
,39ca8ecf
]:[fixed] Fixed an issue that may have prevented the client from connecting
to the backend immediately after a user signed in.
Released
[changed] All known failure cases for Indexed-related crashes have now been
addressed. Instead of crashing the client, IndexedDB failures will result
in rejected operations (e.g. rejected Writes or errored Query listeners).
If these rejections surface in your app, you can retry these operations
when IndexedDB access is restored.
IndexedDB failures that occur due to background work are automatically
retried.
If you continue to see Indexed-related crashes, we appreciate feedback
(Offline Mode Improvements #2755).
[fixed] Fixed an issue that could cause Firestore to temporarily go
offline when a Window visibility event occurred.
[feature] Added support for calling
FirebaseFiresore.settings
with{ ignoreUndefinedProperties: true }
. When set, Firestore ignoresundefined properties inside objects rather than rejecting the API call.
[fixed] Fixed a regression introduced in v7.14.2 that incorrectly applied
a
FieldValue.increment
in combination withset({...}, {merge: true})
.[fixed] Firestore now rejects
onSnapshot()
listeners if they cannot beregistered in IndexedDB. Previously, these errors crashed the client.
[fixed] Firestore now rejects write operations if they cannot be persisted
in IndexedDB. Previously, these errors crashed the client.
[fixed] Fixed a source of IndexedDB-related crashes for tabs that receive
multi-tab notifications while the file system is locked.
[feature] Added an
experimentalForceOwningTab
setting that can be used toenable persistence in environments without LocalStorage, which allows
persistence to be used in Web Workers (FR: Firestore offline persistence in web workers #983).
1.10.2
IDs to address compatibility issues with IE 11, WebWorkers, and React Native.
will perform when resolving inconsistencies in the local cache (Large changesets over slow connections result in uncontrollable usage-metered long-polling loops #2683).
reduce memory allocations and improve performance. Calls to
DocumentSnapshot.getData()
andDocumentSnapshot.toObject()
will seethe biggest improvement.
1.10.1
-0.0
would lose its sign whenstored in Firestore.
1.10.0
Timestamp.valueOf()
so thatTimestamp
objects can becompared for relative ordering using the JavaScript arithmetic comparison
operators (FR: Add valueOf() to Timestamp instances #2632).
environments (Disable use of $httpHeaders in Cordova #2626).
Query.limitToLast(n: number)
in Firestore 1.7.0 (Firebase 7.3.0) (Severe performance regression inonSnapshot
listeners in Cloud Firestore #2620).CollectionReference.add()
would rejectcustom types when using
withConverter()
(Error "CollectionReference.add() requires its first argument to be of type object" when used with withConverter #2606).1.9.3
Firefox or Chrome extensions. (request.auth is null in Firestore Rules when called from Firebase JS SDK in UWP #1491)
transaction must also be written. This requirement has been removed, and
you can now read a document in transaction without writing to it.
1.9.2
browser environments (Electron 7, IE11 in trusted zone, UWP apps). (request.auth is null in Firestore Rules when called from Firebase JS SDK in UWP #1491)
1.9.0
Added support for strongly typed collections, documents, and
queries. You can now use
withConverter()
to supply a custom dataconverter that will convert between Firestore data and your custom type.
1.8.0
persistence is enabled. Recently executed queries should see dramatic
improvements. This benefit is reduced if changes accumulate while the query
is inactive. Queries that use the
limit()
API may not always benefit,depending on the accumulated changes.
1.7.0
fail.
in
andarray-contains-any
query operators for use with.where()
.in
finds documents where a specified field’s value is IN aspecified array.
array-contains-any
finds documents where a specified fieldis an array and contains ANY element of a specified array.
Query.limitToLast(n: number)
, which returns the lastn
documents as the result.1.6.3
IndexedDB persistence layer.
1.6.2
in a background tab (Firestore: Attempt to get a record without an in-progress transaction #2232).
caused requests with timestamps to fail.
1.6.0
Firestore.onSnapshotsInSync()
method that notifies youwhen all your snapshot listeners are in sync with each other.
crash the client if the field was not present in the local copy of the
document.
1.5.0
Firestore.waitForPendingWrites()
method thatallows users to wait until all pending writes are acknowledged by the
Firestore backend.
Firestore.terminate()
method which terminatesthe instance, releasing any held resources. Once it completes, you can
optionally call
Firestore.clearPersistence()
to wipe persisted Firestoredata from disk.
small subset of the documents in a collection.
Firestore that could result in initial writes to the database being dropped.
1.4.10
This means transactions on highly contended documents are more likely to
succeed.
1.4.6
that were previously incorrectly disallowed are now allowed. For example,
after reading a document that doesn't exist, you can now set it multiple
times successfully in a transaction.
1.4.5
documents that previously had not matched but had been updated to now
match the query ([Firestore] whereArrayContains not working in offline scenario. firebase-android-sdk#155).
1.4.4
with a
FieldValue.serverTimestamp()
and an update with aFieldValue.increment()
were pending for the same document.1.4.0
https://bugs.webkit.org/show_bug.cgi?id=197050 (a bug in iOS 12.2 causing
the SDK to potentially crash when persistence is enabled).
window.addEventListener
,such as in React Native with Expo (@firebase/firestore: Firestore (6.0.4): INTERNAL UNHANDLED ERROR: configureNetworkMonitoring #1824).
1.3.5
clearPersistence()
, which clears the persistent storageincluding pending writes and cached documents. This is intended to help
write reliable tests (Expose API to clear offline persistence (in IndexedDB). #449).
1.3.3
changes (airplane mode, Wi-Fi availability, etc.).
1.3.0
experimentalTabSynchronization
setting in favor ofsynchronizeTabs
. If you use multi-tab synchronization, it is recommendedthat you update your call to
enablePersistence()
. Firestore logs an errorif you continue to use
experimentalTabSynchronization
.given collection ID using the
FirebaseFirestore.collectionGroup()
method.1.1.4
experimentalForceLongPolling
setting that that can beused to work around proxies that prevent the Firestore client from connecting
to the Firestore backend.
1.1.1
perputually retrying without ever succeeding (Increase webchannel timeouts to improve reliability on slow connections (b/123095740). #1447).
assert for Queries that use nested DocumentReferences in where() clauses
(Persistency issue with unlisten in 5.8.2 or I'm missing something #1524, Ensure consistent JSON Serialization of DocumentKeys #1596).
without auth credentials, leading to Permission Denied errors.
1.1.0
FieldValue.increment()
, which can be used inupdate()
and
set(..., {merge:true})
to increment or decrement numeric fieldvalues safely without transactions.
While this feature is not yet available, all schema changes are included
in this release. Once you upgrade, you will not be able to use an older version
of the Firestore SDK with persistence enabled.
1.0.5
subcollections.
1.0.4
enablePersistence()
was called in a second tab (Firestore error uncaught in promise when primary lease check fails #1531).
1.0.0
timestampsInSnapshots
setting is now enabled by default.Timestamp fields that read from a
DocumentSnapshot
are now returned asTimestamp
objects instead ofDate
objects. This is a breaking change;developers must update any code that expects to receive a
Date
object. Seehttps://firebase.google.com/docs/reference/js/firebase.firestore.Settings#~timestampsInSnapshots
for more details.
a write has been sent to the server but before it has been received on
a listener.
0.9.2
experimentalTabSynchronization to hit an exception for "Failed to obtain
primary lease for action 'Collect garbage'".
0.9.1
0.9.0
be used in environments that prohibit eval().
removes older documents. This is enabled automatically if persistence is
enabled, and the SDK will attempt to periodically clean up older, unused
documents once the on-disk cache passes a threshold size (default: 40 MB).
This threshold can be configured by changing the setting
cacheSizeBytes
inthe settings passed to
Firestore.settings()
. It must be set to a minimum of1 MB. The garbage collection process can be disabled entirely by setting
cacheSizeBytes
toCACHE_SIZE_UNLIMITED
.0.8.3
tabs.
0.8.2
0.8.1
0.8.0
You can opt into this new experimental mode by invoking
enablePersistence()
with
{experimentalTabSynchronization: true}
. All tabs accessing persistencemust use the same setting for this flag.
get()
call made after being offlinecould incorrectly return cached data without attempting to reach the backend.
get()
to only make one attempt to reach the backend beforereturning cached data, potentially reducing delays while offline.
to
set(..., { merge: true })
.0.7.3
haven't yet been read back from Firestore. This can lead to slight behavior
changes and may affect the
SnapshotMetadata.hasPendingWrites
metadata flag.that are known to lag behind the server version. Instead, we buffer these
events until the client has caught up with the server.
0.7.2
Expo platform (Can't find variable: document #1138).
0.7.0
get({source: 'cache'})
to be able to return nonexistentdocuments from cache.
tabs. While this feature is not yet available, all schema changes are included
in this release. Once you upgrade, you will not be able to use an older version
of the Firestore SDK with persistence enabled.
take effect until you did a full sign-out and sign-in.
(Firestore - token doesn't update in the Firestore Rules firebase-ios-sdk#1499)
0.6.1
re-listening within 30 minutes.
0.6.0
caused by documents that were cached as deleted when they should not have
been (Firestore: Deleting a couple of documents returned by a limited subcollection query triggers all documents to disappear locally firebase-ios-sdk#1548). Because some cache data is cleared,
clients might use extra bandwidth the first time they launch with this
version of the SDK.
firebase.firestore.FieldValue.arrayUnion()
andfirebase.firestore.FieldValue.arrayRemove()
to atomically add and removeelements from an array field in a document.
'array-contains'
query operator for use with.where()
tofind documents where an array field contains a specific element.
0.5.0
includeQueryMetadataChanges
andincludeDocumentMetadataChanges
options passed toQuery.onSnapshot()
intoa single
includeMetadataChanges
option.QuerySnapshot.docChanges()
is now a method that optionally takesan
includeMetadataChanges
option. By default, even when listening to a querywith
{ includeMetadataChanges:true }
, metadata-only document changes aresuppressed in
docChanges()
.{ mergeFields: (string|FieldPath)[] }
option toset()
which allows merging of a reduced subset of fields.
0.4.1
loading of proto files, causing Node.JS support to break.
0.4.0
Timestamp
class to represent timestamp fields,currently supporting up to microsecond precision. It can be passed to API
methods anywhere a JS Date object is currently accepted. To make
DocumentSnapshot
s read timestamp fields back asTimestamp
s instead ofDates, you can set the newly added flag
timestampsInSnapshots
inFirestoreSettings
totrue
. Note that the current behavior(
DocumentSnapshot
s returning JS Date objects) will be removed in a futurerelease.
Timestamp
supports higher precision than JS Date.Query.get() should fetch from server only, (by passing { source: 'server' }),
cache only (by passing { source: 'cache' }), or attempt server and fall back
to the cache (which was the only option previously, and is now the default).
0.3.7
cause get() requests made while offline to be delayed by up to 10
seconds (rather than returning from cache immediately).
0.3.6
cause a crash if a user signs out while the client is offline, resulting in
an error of "Attempted to schedule multiple operations with timer id
listen_stream_connection_backoff".
0.3.5
neither succeeds nor fails within 10 seconds, the SDK will consider itself
"offline", causing get() calls to resolve with cached results, rather than
continuing to wait.
enableNetwork()
thatcould result in a "Mutation batchIDs must be acknowledged in order" assertion
crash.
0.3.2
cases result in an "OnlineState should not affect limbo documents." assertion
crash when the client loses its network connection.
0.3.1
includeMetadataChanges
optionenabled) now receive an event with
snapshot.metadata.fromCache
set totrue
if the SDK loses its connection to the backend. A new event withsnapshot.metadata.fromCache
set to false will be raised once theconnection is restored and the query is in sync with the backend again.
SnapshotOptions
API to control how DocumentSnapshotsreturn unresolved server timestamps.
disableNetwork()
andenableNetwork()
methods toFirestore
class, allowing for explicit network management.DocumentSnapshot.data()
now returnsundefined
instead of throwing an exception. A newQueryDocumentSnapshot
class is introduced for Queries to reduce the numberof undefined-checks in your code.
isEqual
API toGeoPoint
,Blob
,SnapshotMetadata
,DocumentSnapshot
,QuerySnapshot
,CollectionReference
,FieldValue
and
FieldPath
.logged when the initial connection to the Firestore backend fails.
backend." message will be logged when we get a resource-exhausted
error from the backend.
v0.2.1
the offline persistence feature).
normal HTTP headers to avoid an extra CORS preflight request when initiating
streams / RPCs.
v0.1.4
idleness.
v0.1.2
FieldValue.delete()
sentinels inset()
callswith
{merge:true}
.v0.1.1
firebase.firestore.FieldPath.documentId()
in anorderBy()
orwhere()
clause in a query.
v0.1.0
@firebase/firestore-types@1.12.0
Minor Changes
39ca8ecf
#3254 Thanks @thebrianchen! - Added support forset()
with merge options when usingFirestoreDataConverter
.@firebase/analytics@0.3.9
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5Updated dependencies [
a754645e
]:@firebase/app@0.6.8
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5Updated dependencies [
a754645e
]:@firebase/auth@0.14.8
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5@firebase/component@0.1.16
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5@firebase/database@0.6.7
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5Updated dependencies [
a754645e
]:[changed] Added internal HTTP header to the WebSocket connection.
[feature] Added ServerValue.increment() to support atomic field value increments
without transactions.
[fixed] Fixed Realtime Database URL parsing bug to support domains with more than 3 components.
Released
not always be sorted correctly.
6.4.0
.info/serverTimeOffset
events not to fire (".info/serverTimeOffset" does not work anymore #2043).ns
url query parameter as the default Realtime Databasenamespace name.
6.3.4
firebase.js
orfirebase-database.js
(Encoding Issue with long polling #2035).6.0.0
Query.on
/Reference.on
,Query.off
/Reference.off
andQuery.once
/Reference.once
(Type mismatch between Query#on and Query#off #1188, Fix the type annotations in the RTDB Query.on/off/once API. #1204).@firebase/functions@0.4.48
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5bb740836
#3330 Thanks @Feiyang1! - Clear timeout after a successful response or after the request is canceled. Fixes issue 3289.Updated dependencies [
a754645e
]:@firebase/installations@0.4.14
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5Updated dependencies [
a754645e
]:@firebase/logger@0.2.6
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5@firebase/messaging@0.6.20
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.517c628eb
#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.469c8bdf
#3221 Thanks @zwu52! - Added support foronMessage
so the internal callback can work with SubscriberUpdated dependencies [
a754645e
]:[fixed] Fixed an issue introduced in 7.7.0, when FCM switched to provide base64-encoded VAPID
key to PushManager for push subscription. For backward compatibility, the SDK has switched back to using VAPID key in type ArrayBuffer.
@firebase/performance@0.3.9
Patch Changes
a754645e
#3297 Thanks @renovate! - Update dependency typescript to v3.9.5Updated dependencies [
a754645e
]:0.3.0
0.2.30
@firebase/remote-config@0.1.25
Patch Changes
a754645e
]:@firebase/storage@0.3.38
Patch Changes
a754645e
]:6.1.0
@firebase/testing@0.20.6
Patch Changes
a754645e
,17c628eb
,bb740836
,39ca8ecf
,877c060c
,e90304c8
,469c8bdf
]: