github angular/angularfire 6.0.0

latest releases: 17.0.1, 17.0.0, 17.0.0-next.0...
4 years ago

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

Don't miss a new angularfire release

NewReleases is sending notifications on new releases.