3.1.0 (2023-02-26)
- avoid uncaught firebase error (9b20cfc)
- database: pending for lists (ee25d06)
- firestore: pending value for collections (3186afb), closes #1314
- storage: propagate the error (438ee3e)
3.0.1 (2023-01-06)
- firestore: apply converter to nested refs (fe78629), closes #1263
- unwrap promise $databaseBind() (4e6d32f), closes #1275
3.0.0 (2022-12-23)
VueFire 3 is now entering its stable phase! 🎉
This release doesn't include any changes from the previous beta, but it's now considered a good time to start using it in production.
Head over to the Documentation to learn more about VueFire 3.
Report any bugs you find on GitHub Issues.
3.0.0-beta.8 (2022-12-21)
- database: expose databaseDefaultSerializer (278916b)
3.0.0-beta.7 (2022-12-19)
- firestore: default serverTimestamps to estimate (ae85a41)
3.0.0-beta.6 (2022-12-16)
No updates in this release
3.0.0-beta.5 (2022-12-16)
- database: correctly set pending when hydrating and during racing conditions (90bd7f5)
- firestore: correctly set pending when hydrating and during racing conditions (998fe38)
3.0.0-beta.4 (2022-12-13)
3.0.0-beta.3 (2022-12-12)
- pass name internally (f7b3d44)
- app-check: allow specifying your own debug token (e0b2b5a)
- auth: allow passing the app name to getUser functions (20ab13d)
- auth: handle ssr (567fd12)
- nuxt: handle user context on the server and use LRU cache for apps (a335c54)
- ssr: allow resolving getCurrentUser (282b6bc)
3.0.0-beta.2 (2022-12-06)
- SSR fixes
3.0.0-beta.1 (2022-12-05)
3.0.0-alpha.13 (2022-12-01)
- ssr: appcheck force app (cd5168a)
3.0.0-alpha.12 (2022-12-01)
- app-check: run only in client (384085e)
- firestore: pass snapshotOptions before extracting refs (a61ee09)
- firestore: pass the id as a value (d0afc0a)
- firestore: skip ref extraction in non pojo (cc01b84), closes #1257
- nested refs (c4ab275)
- options-api: cleanup variables (5d244b7)
- pass options when unbinding documents (6d4f151)
- resilient walkSet and walkGet (80879d1)
- ssr: fallback value in firestore (57cdd82)
- ssr: use ssrKey in firestore (25d86ca)
- types: add undefined for initial values (76e1527)
- firestore: rename
$bind
to$firestoreBind
(a636c21) - remove manual bind/unbind methods (7b8b037)
- rename
unbind()
tostop()
(37d3f67) - rename rtdbPlugin to databasePlugin (a7f500d)
- database: when binding to a primitive value in RTDB, VueFire used
to create an object with a property
.value
for the primitive vaule itself. The.
in front forces to always use a bracket syntax (obj['.value']
) while the$
doesn't, making its usage cleaner. The$value
andid
property created in the case of primitives are also enumerable properties. This should make things easier to debug.
3.0.0-alpha.11 (2022-11-25)
- add global options (5137a99)
- database: add once option (0c321fb)
- database: once on server (c4eb143)
- firestore: force once option during SSR (397a8de)
3.0.0-alpha.10 (2022-11-21)
- resilient walkSet and walkGet (80879d1)
3.0.0-alpha.9 (2022-11-17)
3.0.0-alpha.8 (2022-11-15)
- app-check: run only in client (384085e)
- options-api: cleanup variables (5d244b7)
- ssr: fallback value in firestore (57cdd82)
- rename
unbind()
tostop()
(37d3f67)
- add modules for options api (908f6c3)
- ssr: database and firestore (eca3031)
- storage: url, metadata and upload tasks (b5fa6b9)
- Composables like
useDocument()
no longer return anunbind()
method. The method is now namedstop()
to better reflect that they also stop the Vue watcher on top of stopping the Firebase data subscription.
3.0.0-alpha.7 (2022-11-11)
3.0.0-alpha.6 (2022-11-10)
3.0.0-alpha.5 (2022-11-08)
- better defaults for wait and reset (872bd1c)
- database: allow passing a vue ref (df66d6e)
- database: rename
.key
property toid
to match Firestore (0c0b1e4) - database: support null as a value (d1d2b5a)
- firestore: accept a vue ref as parameter in useCollection() and useDocument() (ee180a7)
- firestore: allow setting the ref value to null (7af2c6e)
- usePendingPromises() (b0a65dd)
wait
option now defaults totrue
to better align with SSR. Similarly, thereset
option now defaults tofalse
to better align with declarative usage ofuseDocument()
and others. If you want to keep the old behavior, you can still override the defaults globally (refer to global options in the docs).- database: the default
serialize()
option adds a non enumerable property namedid
that correspond to the DatabaseRef'skey
. It was previously added as a non-enumerable key named.key
. if you want to keep the old behavior you can pass a globalserialize()
to thertdbPlugin
options:
import { createApp } from 'vue'
import { rtdbPlugin } from 'vuefire'
const app = createApp()
app.use(rtdbPlugin, {
serialize: (doc) => {
// write your personalized serialize version
},
})
3.0.0-alpha.4 (2022-10-20)
This version is very different from the previous alpha. If you were using it, make sure to read the list of breaking changes
- fix peer deps (3f56f10)
- firestore: rename
$bind
to$firestoreBind
(a636c21) - remove manual bind/unbind methods (7b8b037)
- rename rtdbPlugin to databasePlugin (a7f500d)
- database: add databasePlugin (058d7dc)
- database: useList for arrays (86ccfc7)
- database: useObject for objects (44413b2)
- firestore: allow custom converter (18224e4), closes #608
- firestore: allow destructuring from useDocument() (3b376f4)
- firestore: allow passing snapshot options (76d36f5), closes #955
- firestore: useDocument (e5cb5b0)
- types: allow generics in useCollection (57dbbc8)
- types: deprecate serializer in favor of converter (1c8012e)
- use Firebase 9 (81701bb)
- manual bind, and unbind from database and firestore
have been removed. Use the new functions
useList()
/useCollection()
anduseObject()
/useDocument()
instead. - firestore: Firestore method
$bind()
is now named$firestoreBind()
to align with Database$rtdbBind()
. Note this can be changed through the plugin options withbindName
. The same applies to$unbind()
which has been renamed to$firestoreUnbind()
- rename
rtdbPlugin
todatabasePlugin
in your code - VueFire is compatible only with Vue
^2.7.0 || ^3.2.0
, it cannot work with@vue/composition-api
(which is natively included and therefore not needed onvue@>=2.7.0
). Note VueFire also requiresfirebase@^9.0.0
. - firestore:
options.serialize()
is replaced withconverter
. It effectively has the same effect as callingdoc().withConverter()
orcollection().withConverter()
but it allows to have a global converter that is automatically applied to all snapshots. This custom converter adds a non-enumerableid
property for documents like the previousserialize
options. If you were not using this option, you don't need to change anything. - vuefire now requires firebase 9
3.0.0-alpha.3 (2022-10-07)
- use Firebase 9 (81701bb)
- vuefire now requires firebase 9
3.0.0-alpha.2 (2020-12-08)
- Support for Firebase 8
3.0.0-alpha.1 (2020-12-01)
3.0.0-alpha.0 (2020-11-30)
Initial release, existing API from docs should be the same. Added composition API functions:
firestoreBind
firestoreUnbind
rtdbBind
rtdbUnbind
Waiting for the documentation, rely the typings to know what to pass.
Only Firebase 7 is supported until this regression is solved.