Skip to content

Releases: angular/angularfire

6.0.0

02 Apr 03:57
0be51e6
Compare
Choose a tag to compare

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.13.1 has been dropped
  • Support for firebase-tools less than 8.0 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
  • Simplified AngularFirePerformanceMonitoring since we now have Google Analytics
  • ng add @angular/fire will now detect SSR and you will have the option for ng deploy to spin up a Cloud Function
  • There's now a --preview option on ng deploy which will allow you to preview your application locally before continuing with the deploy
  • Fixed several Zone.js issues in the Node environment
  • Browser environments will now have a macrotask keeping Zone.js from stabilizing until RTDB, Firestore, etc. return an initial result (only SSR had this before.) Please file an Issue on GitHub if you find Zone.js issues in the browser environment

@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
  • Fixed some Zone.js issues when combining our auth guard and lazy loaded routes

@angular/fire/database

  • Dropped the RealtimeDatabaseURL and DATABASE_URL DI tokens in favor of URL

@angular/fire/firestore

  • 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
  • The pipes that were available on AngularFirePerformance (trace, traceUntil, etc.) have been moved to pure-functions and can be imported separately from the class. (e.g, import { trace } from '@angular/fire/analytics') these pipes have been simplified and now use the User Timing API
  • Automatic tracing of ApplicationRef.isStable how now been moved to a service PerformanceMonitoringService as such the AUTOMATICALLY_TRACE_CORE_NG_METRICS DI token has been dropped

@angular/fire/storage

  • Dropped StorageBucket DI token in favor of BUCKET
  • getDownloadURL and getMetadata are no longer eager
  • Dropped updateMetatdata in favor of updateMetadata which was a typo

6.0.0-rc.2

30 Mar 21:17
d91965e
Compare
Choose a tag to compare
6.0.0-rc.2 Pre-release
Pre-release

Continued work on 6.0.

  • Update peers
  • No longer require developer add bare imports themselves (e.g, import 'firebase/firestore')
  • Zone.js fixes
  • Angular Universal deploy schematic
  • Storage listAll()
  • and more...

6.0.0-rc.1

06 Feb 08:23
504303b
Compare
Choose a tag to compare
6.0.0-rc.1 Pre-release
Pre-release

Continued work on version 6.

  • Brought in a fix from 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

5.4.2

06 Feb 06:00
f24df35
Compare
Choose a tag to compare

Bug Fixes

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

5.4.1

05 Feb 06:01
Compare
Choose a tag to compare

Bug Fixes

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

5.4.0

02 Feb 05:25
Compare
Choose a tag to compare

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

02 Feb 05:03
Compare
Choose a tag to compare

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)

6.0.0-rc.0

30 Jan 23:48
014911b
Compare
Choose a tag to compare
6.0.0-rc.0 Pre-release
Pre-release

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.3.0

07 Jan 23:05
f3b7bd8
Compare
Choose a tag to compare

AngularFire 5.3 introduces Analytics and Remote Config modules.

5.3.0-rc.4

21 Dec 19:42
Compare
Choose a tag to compare
5.3.0-rc.4 Pre-release
Pre-release

Final candidate for 5.3.0.

  • AngularFireAnalytics and AngularFireRemoteConfig should be safe in non-browser environments (mostly noop due to lack of support in the Firebase libraries, but should not cause runtime exceptions)
  • ScreenTrackingService should now be more reliable in reporting your component's selector (as screen_name), especially in AOT mode.
  • To better facilitate debugging, ScreenTrackingService will console log screen_view events when DEBUG_MODE is enabled.

Please test that screen_class attribute is correct tracking your component's selector in Google Analytics for the ScreenTrackingService both against AOT and JIT. There's some hard to test code here. Report your experience on #2187