Skip to content

Latest commit

 

History

History
611 lines (369 loc) · 40.6 KB

CHANGELOG.md

File metadata and controls

611 lines (369 loc) · 40.6 KB

6.0.0-rc.1 (2020-02-06)

Continued work on version 6.

  • Brought a fix in 5.4.2 (#2315)
  • Fixed @angular/fire/analytics attempting to use global (#2303)
  • Fix the error message on storage (#2313)
  • Starting on documentation for 6.0

6.0.0-rc.0 (2020-01-30)

Version 6 of AngularFire drops support for Angular version 8 and below, older versions of typescript, Firebase, drops firebase-node, database-deprecated, and more.

  • Support for Angular versions less than 9 has been dropped
  • Support for Firebase versions less than 7.8 has been dropped
  • Support for firebase-tools less than 7.12 has been dropped
  • angularfire2 NPM shim will no longer be updated
  • Dropped @angular/fire/firebase-node and @angular/fire/database-depreciated
  • Using ng-packagr to build the library, bringing us back up to speed on APF
  • All of our @NgModules are now providedIn: 'any' rather than singletons
  • We make use of Proxy in more modules, you'll need to polyfill if you want to support IE 11

@angular/fire

  • Dropped the RealtimeDatabaseURL and DATABASE_URL DI tokens, use import { URL } from '@angular/fire/database' instead
  • Dropped runOutsideAngular, runInZone, FirebaseZoneScheduler, and the Firebase* type aliases

@angular/fire/analytics

  • AngularFireAnalytics now memozies analytics.Analtyics instances keyed to the measurementId, this prevents exceptions if you're using more than one FirebaseApp with the same measurementId. This is also needed as we are providedIn: 'any'.

@angular/fire/auth

  • AngularFireAuthModule is now side-effect free and AngularFireAuth will dynamically import firebase/auth when a request is made
  • AngularFireAuth has dropped the auth property and instead Promise Proxies the underlying Firebase auth.Auth instance

@angular/fire/auth-guard

  • AngularFireAuthGuard and canActivate have dropped (attempted) support for raw AuthPipes, as they were not functioning in AOT builds; you'll want to move to AuthPipeGenerators

@angular/fire/database

  • AngularFireDatabaseModule no longer imports firebase/database on it's own to remain side-effect free, you'll need to import 'firebase/database' on your own
  • Dropped the RealtimeDatabaseURL and DATABASE_URL DI tokens in favor of URL

@angular/fire/firestore

  • AngularFirestoreModule no longer imports firebase/firestore on it's own to remain side-effect free, you'll need to import 'firebase/firestore' on your own
  • Dropped the EnablePersistenceToken DI token in favor of ENABLE_PERSISTENCE
  • Dropped the PersistenceSettingsToken DI token in favor of PERSISTENCE_SETTINGS
  • Dropped the FirestoreSettingsToken DI token in favor of SETTINGS

@angular/fire/functions

  • Dropped the FunctionsRegionToken and FUNCTIONS_REGION DI tokens in favor of REGION
  • Dropped the FUNCTIONS_ORIGIN DI token in favor of ORIGIN
  • AngularFireFunctionsModule is now side-effect free and AngularFireFunctions will dynamically import firebase/functions when a request is made
  • AngularFireFunctions has dropped the functions property and instead Promise Proxies the underlying Firebase functions.Functions instance

@angular/fire/messaging

  • AngularFireMessaging's dynamic import of firebase/messaging is now lazy, if you don't call any methods the SDK will not be loaded
  • AngularFireMessaging has dropped the messaging property and instead Promise Proxies the underlying Firebase messaging.Messaging instance

@angular/fire/performance

  • AngularFirePerformance has dropped the performance property and instead Promise Proxies the underlying Firebase performance.Performance instance

@angular/fire/storage

  • AngularFireStorageModule no longer imports firebase/storage on it's own to remain side-effect free, you'll need to import 'firebase/storage' on your own
  • Dropped StorageBucket DI token in favor of BUCKET

5.4.2 (2020-02-06)

Bug Fixes

  • core: fixing a problem with hot/cold observables resulting in missed events (#2315) (f24df35)

5.4.1 (2020-02-05)

Bug Fixes

  • auth: authState should be using onAuthStateChanged (#2308) (9506f85)

5.4.0 (2020-02-01)

Features

  • core: Register AngularFire and Angular versions with the JS SDK (6096c95)
  • ng-deploy: add option for buildTarget (#2281) (28a4e54)
  • core: Major changes to the Zone.js wrapping to address SSR memory leaks and more (#2294) (56df941)

5.3.1 (2020-02-01)

Bug Fixes

  • schematics: The schematics should be functional again. The version of firebase-tools we were installing when you called ng add @angular/fire was using deprecated API. (#2285) (5867eeb)
  • schematics: fix issues with FS and Devkit Paths (#2279) (5ccf5db)
  • rc: Need to ensureInitialized() (#2290) (0d95523)

5.3.0 (2020-01-07)

AngularFire 5.3 introduces Analytics and Remote Config modules.

5.2.3 (2019-11-12)

Bug Fixes

  • build: Make the build work on windows (#2231) (97d8532)
  • core: Support Firebase 7 peer and fix zone instabilities with AngularFirePerformanceModule and the injectable FirebaseApp (#2240) (60fd575)
  • rtdb: Allow update to take "Partial" (#2169) (ca43c8b)

5.2.2 (2019-11-12)

5.2.2 was mistakenly released to @canary due to a CI/CD bug. It was republished to @latest as 5.2.3.

5.2.1 (2019-06-01)

Removed unnecessary peerDependencies (#2095) (5e49442)

5.2.0 (2019-05-31)

AngularFire 5.2 introduces support for Angular 8 and version 6 of the Firebase SDK.

Bug Fixes

  • firestore: Fix for builds targeting Node (#2079) (8a33826)
  • storage: Typo in updateMetadata method (#2029) (6133296)
  • messaging: Allow AngularFireMessaging to be included in a server build (#1938) (9b870a9)

Features

  • performance: AngularFire Performance Monitoring (#2064) (2469e77)
  • auth-guard: AngularFire Auth Guards (#2016) (e32164d)
  • firestore: Added option to include document IDs on valueChanges() (#1976) (7108875)
  • firestore: Support Firestore Collection Group Queries (#2066) (c34c0f3)
  • functions: Allow configuration of Functions Emulator Origin (#2017) (d12b4c5)
  • schematics: ng deploy schematic (#2046) (be0a1fb)
  • firestore: path on AngularFirestoreCollection's .doc is optional (#1974) (c2354f8)

5.1.2 (2019-03-11)

Bug Fixes

  • afs: No longer pull in the depreciated timestampsInSnapshots setting for Firebase 5.8 (#2013) (5df31c3)

5.1.1 (2018-11-29)

Bug Fixes

  • functions: Fix the default Functions region bug (#1945) (7d175b3)

5.1.0 (2018-10-17)

Features

  • core: Support Angular 7 without peer dependency warnings (ed92c45)
  • afs: Support Firebase 5.5 and Firestore PersistenceSettings (a9cf1ca)
  • functions: Support region configuration via FunctionsRegionToken (8901617)

5.0.2 (2018-09-21)

Bug Fixes

  • messaging: Fix for the binding issue and onTokenRefresh for Messaging (e170da1)

5.0.1 (2018-09-07)

Version 5.0.1 has been released for the deprecated angularfire2 NPM library; this simply re-exports everything from @angular/fire; allowing you to use either angularfire2 or @angular/fire in your imports and package.json.

It will have it's dependency pinned to the corresponding minor and will be released alongside future @angular/fire releases for the rest of the 5.x series.

5.0.0 (2018-09-04)

Bug Fixes

  • firestore: Better handle enablePersistence failures, esp. for Universal (#1850) (334ba7b)
  • firestore: Add document get(), the options argument for get() should be optional, and subscriptions to get() should be run in the Angular Zone(#1849) (185943f)

Breaking changes

5.0 is now final and we're published under @angular/fire.

npm i --save firebase @angular/fire

5.0.0-rc.12 (2018-08-24)

Bug Fixes

  • afs: Gracefully handle duplicate emissions on modified/deleted (#1825) (76ff6c1)
  • core: If an AngularFire observable was empty or threw, it could block Universal rendering (#1832) (36a8ff8)
  • core: Fix for the Firebase ES export problems in Node (#1821) (f1014ee)
  • storage: Fix for zone issues on downloadURL and metadata, which blocked Universal rendering (#1835) (441607a)

Features

5.0.0-rc.11 (2018-06-13)

Bug Fixes

  • Fixed SSR compilation and misc. typing issues (#1729) (eed5802)

5.0.0-rc.10 (2018-05-22)

Bug Fixes

  • firestore: the type passed to AngularFirestoreCollection from a document's sub-collection will now default to DocumentData, rather than any, if no type is specified (#1662) (2c2fe02)

Breaking change

  • core: AngularFire now depends only on the firebase NPM library, rather than @firebase/* and @firebase/*-types; this should simplify issues around keeping types in-sync and conflicts between package versions (#1677) (2c2fe02)

5.0.0-rc.9 (2018-05-16)

Bug Fixes

  • core: allow initializeApp to be used with AOT (#1654) (513565a)
  • core: Allow name + config deps to be optional (#1641) (a6af604)
  • firestore: Fixed a bug where Firestore sub-collections were inheriting the type of the doc by default (#1644) (dff8ddf)

Features

  • auth: Adding user and idTokenResult Observables to AngularFireAuth (#1642) (31045a9)
  • functions: Adding AngularFireFunctions with httpCallable (#1532) (26f3f5f)
  • firestore: types for collection, audit trail, state, and snapshot changes (#1644) (dff8ddf)
  • rtdb: types for collection, audit trail, snapshot, and state changes (#1643) (2c2fe02)

Breaking change

  • To deal with the initializeApp not being able to be used in AOT (#1635) we removed FirebaseAppConfigToken and FirebaseAppNameToken and replaced them with a new FirebaseNameOrConfigToken which accepts either an app name string or a FirebaseAppConfig object. (#1654) (513565a)
  • firestore: If you do not specify a type to Document or Collection the default is now DocumentData (#1644) (dff8ddf)

5.0.0-rc.8 (2018-05-12)

Bug Fixes

Features

  • Supporting Angular and rxjs 6 (dd4a36c)
  • Support Firebase JS SDK 5.0 (#1628) (b99bfa3)
  • Support FirebaseAppConfig, clean up injection tokens (#1627) (57906bd)
  • firestore: Support Firestore Settings, timestampsInSnapshots default to true (#1629) (570c0a7)
  • auth: Update to rxjs pipeable operators (#1621) (0c3b215)
  • core: Update to rxjs pipeable operators (#1620) (3fbbb7d)
  • database: Update to rxjs pipeable operators (#1622) (5c3681d)
  • firestore: Update to rxjs pipeable operators (#1623) (97b26e3)
  • storage: Update to rxjs pipeable operators (#1624) (014be21)

Breaking changes

  • Due to the addition of a conflicting FirebaseAppConfig interface in Firebase 4.13 we've now changed our FirebaseAppConfig Injection Token to be FirebaseOptionsToken
  • For consistency the FirebaseAppName Injection Token is now FirebaseAppNameToken
  • rxjs 5 is no longer supported, upgrade to 6 (see the rxjs migration guide for more information)
  • Firebase JS SDK 4.x is no longer supported, upgrade to 5 (see the changelog for more information)
  • To mirror a change in Firebase 5.x, downloadURL was removed from AngularFireUploadTask

Known issues

  • Some users may experience failures compiling AOT while using AngularFireModule.initializeApp(...), a work-around is available (see #1635)

5.0.0-rc.7 (2018-05-04)

Bug Fixes

  • afs: workarounds for bugs in the Firebase JS SDK #605 and #608 (#1540) (14e78ec)
  • app: add automaticDataCollectionEnabled for compatability with Firebase JS SDK v4.13+ (#1572) (f2cf159)

Features

  • firestore: allow collection and doc from ref (#1487) (136f1e5), closes #1337
  • runOutsideAngular for Universal / service worker compatability and allow advanced configuration with DI (#1454) (e343f13)

5.0.0-rc.6 (2018-01-26)

Bug Fixes

  • Migrate imports to new Typings from 4.8.1 to resolve #1385 (7ec51b2)
  • Removing errant old import. Updating build with latest namespace. Fixing import for main @firebase/app. This resolves failing tests. (a13bf9b)
  • afs: fix di warning (#1401) (23ab383)
  • afs/typings: valueChanges should return Observable<T|null> (#1321) (aadc71a)

Features

  • storage: Add Cloud Storage support (e2283b1)

5.0.0-rc.4 (2017-11-17)

Bug Fixes

5.0.0-rc.3 (2017-10-14)

Bug Fixes

  • afs: change doc.update() parameter type to Partial (#1247) (297cabb), closes #1245 #1215
  • rtdb: Fixed null set handling, ordering, and cleaned up types (#1264) (eda1c41)

5.0.0-rc.2 (2017-10-05)

Bug Fixes

  • afs: Allow multiple subscribers by using share, closes #1191 (#1192) (21522ab)
  • afs: Don't filter empty changes (allow for null set) (eb71edc)
  • afs: remove debugger statement from collection/changes.ts (#1190) (88a25e7)
  • auth: Clean up the authentication module (8ab3803)

5.0.0-rc.0 (2017-10-03)

Features

  • AngularFirestore: Module for Cloud Firestore (90c8ede)
  • New AngularFireDatabase API: New API for the database #1158

Breaking changes

AngularFire 5.0 brings a new API for the Realtime Database. See the migration doc for converting to the new API. If you want to stay on the old database API you can use:

import { AngularFireModule } from 'angularfire2/database-deprecated';

4.0.0-rc.1 (2017-06-02)

Breaking changes

  • rc: Update to Firebase JS SDK 4.0 (9642f5)

In version 4.0 of the Firebase SDK onAuthStateChanged is only fired on sign-in and sign-out, see the Firebase JS SDK changelog for more information. The added AngularFireAuth.idToken: Observable<firebase.User> behaves as authState used to.

4.0.0-rc0 (2017-05-02)

Bug Fixes

  • auth: Use the injected app (980c447)
  • build: Add package.json files for deep paths (cd5f2d1), closes #880
  • database: Fix test TypeScript errors (750737c), closes #875
  • database: use switchMap when a list's query changes (#831) (b85147d), closes #830

Features

  • auth: New Auth API (12aa422)
  • database: Add AngularFireDatabaseModule (b388627)
  • database: support optional endAt/equalTo key (#838) (e146492), closes #837
  • rc: Implement rc0 API (398e4e2)

2.0.0-beta.8 (2017-02-16)

Bug Fixes

  • database: allow null values for equalTo, etc. (#809) (561e7b7)
  • database: call apply instead of call (7a85bd2)
  • database: retrieve initial list content once (#820) (5c5ff7b), closes #819
  • database: store unwrapped snapshots (9f3c47b), closes #791
  • utils: Make object $key and $exists properties non-enumerable (253401f)
  • utils: Minor formatting improvement (fc3774a)

Features

2.0.0-beta.7 (2017-01-13)

Breaking changes

Bug Fixes

  • aot: Remove AuthBackend param for AOT support (f875360)
  • auth_backend: Update logout method to return a promise (169ce64), closes #583
  • config: Add messagingSenderId to FirebaseAppConfig (9c84869)
  • database: Allow null values for equalTo, etc. (70a3e94), closes #704
  • database: Removed unused query option (9cbc59b), closes #706
  • list: Fix FirebaseListObservable emit as array bug #574 (ce3de04)
  • module: Conditionally pass app name (8427009)

Features

  • module: Add a custom FirebaseApp name (73a3e26)

Bug Fixes

  • Database: use Zone scheduler for object and list factories (e18da0e), closes #637
  • AoT: change constructor param interface type annotation to any (2c0a57f)
  • build: Fix npm test and test:watch commands for windows (86b4b24), closes #217
  • database: Add $ref to observables (#447) (a53fac0), closes #294
  • imports: add firebase imports to all places that reference firebase namespace (c3a954c), closes #525

Features

  • docs: Add AoT installation and setup (#546) (7c20d13)
  • docs: update installation guide to latest cli version (#519) (648666f)
  • hmr: Add Hot module reloading (c32a008)

Notes

A TypeScript issue with the previous release has been fixed, where errors about a missing firebase namespace were reported. For applications that worked around this issue by manually adding the firebase.d.ts typings to tsconfig.json, those typings should now be removed since the firebase namespace should automatically be resolved within AngularFire. See this issue for more context.

2.0.0-beta.5 (2016-09-15)

Bug Fixes

  • docs: Remove @next install (5984a99)
  • docs: typos (197026a)
  • docs: Update for beta.4 (f2d5ba5)
  • docs: Update for beta.4 (b347e16)
  • firebase_*_factory.js: Fix calls to off() which inadvertently cancel all listeners on the path (#469) (b4fb281), closes #443
  • package: Version number (986685a)

Features

BREAKING CHANGES

The way this project is packaged has changed to be consistent with other Angular packages. Previously:

  • The project just consisted of CommonJS modules, with angularfire2.js as the main entry point.
  • The project provided an es6 directory which contained es2015 modules and es2015 JS
  • Package.json included main and jsnext:main fields, pointing to angularfire2.js and es6/angularfire2.js, respectively.

Now:

  • The project ships ES2015 modules with ES5 JS at the root, as well as an ES5 UMD bundle at bundles/angulafire2.umd.js
  • The main field of package.json points to bundles/angularfire2.umd.js.
  • Instead of jsnext:main, we're using the module field of package.json to point to index.js.
  • Instead of angularfire2.js being the main entry point, an index.js has been added (though angulafire2.js hasn't changed significantly).

If you're using Rollup or Webpack, they should just work with this new setup (please open issues if not). If using SystemJS, you should be able to add format: 'esm' inside of the packages configuration, and it should load and parse the es2015 modules correctly.

The addition of the umd bundle will also make it possible to use AngularFire2 in a <script> tag, such as in a plunker or JSBin. The library is exported on a global called angularFire2.

2.0.0-beta.4 (2016-08-22)

Bug Fixes

  • auth: add scheduler to schedule onAuth events through Angular zone (#368) (3615318), closes #354
  • auth: Auth config for initializeApp (#428) (a2ee25d)
  • auth: check protocol before calling getRedirectResult (#271) (f38e9d7), closes #243
  • auth: make statically analyzable x2 (#427) (ab80954)
  • auth: providerData issue (#420) (1ebb726)
  • list: FirebaseListObservable shape (#321) (35e8583)
  • providers: make AoT compile friendly (#410) (6219ac1)

Features

BREAKING CHANGES

  • Previously, es modules were published to the es6/ directory inside the npm package. This change publishes them to the esm directory to be consistent with other angular packages. Currently, the es6 directory is still published in the npm package, but will be removed in a future release.
  • auth: The AngularFireAuth class has changed the order of its constructor arguments. Since this is usually instantiated automatically via dependency injection, it shouldn't affect common usage of the library. However, if manually instantiating AngularFireAuth in tests or in an application, the order of arguments is now: (AuthBackend, WindowLocation[, AuthConfiguration]).

2.0.0-beta.2 (2016-06-22)

Bug Fixes

  • auth: check for null user before attempting to transform (981f0f5), closes #251
  • auth: correctly emit anonymous auth state (51c8caa)
  • auth: make sure onAuth runs in Angular zone (d9a6ae7), closes #231
  • build: downgrade to stable TS version to fix d.ts (664a156), closes #250

AngularFire2 2.0.0-beta.1

This release updates AngularFire to the Firebase 3 SDK. There are a few breaking changes, most notably in how apps are configured, and how third-party oauth tokens are handled.

Breaking Changes:

AngularFire2 2.0.0-beta.0

Features

  • Declarative Querying Commit
  • Upgrade to Angular RC.1 Commit

Bug Fixes

  • FirebaseListFactory: prevent first item being duplicated when it Commit

Docs

Breaking Changes:

  • Web Worker support has been temporarily removed due to Angular 2 RC.0 not yet supporting Web Workers