Skip to content
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

chore(release): Release v7 #2898

Merged
merged 22 commits into from
Aug 25, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ jobs:
id: node_modules_cache
with:
path: ./node_modules
key: ${{ runner.os }}-14-next-node_modules-${{ hashFiles('yarn.lock') }}
key: ${{ runner.os }}-14-9-node_modules-${{ hashFiles('yarn.lock') }}
restore-keys: |
${{ runner.os }}-14-next-node_modules-
${{ runner.os }}-14-9-node_modules-
${{ runner.os }}-14-node_modules-
- name: Yarn offline cache
if: steps.node_modules_cache.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:
strategy:
matrix:
node: ["12", "14", "16"]
firebase: ["next"]
firebase: ["9"]
fail-fast: false
name: Test firebase@${{ matrix.firebase }} on Node.js ${{ matrix.node }}
steps:
Expand Down Expand Up @@ -113,7 +113,7 @@ jobs:
name: Test firebase@${{ matrix.firebase }} on ${{ matrix.browser }}
strategy:
matrix:
firebase: ["next"]
firebase: ["9"]
browser: ["chrome", "firefox"]
fail-fast: false
steps:
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
<a name="7.0.0"></a>
# [7.0.0](https://github.com/angular/angularfire2/compare/6.1.5...7.0.0) (2021-08-25)

### Breaking changes

* Angular 12 is required
* AngularFire now only works in Ivy applications
* Firebase JS SDK v9 is required
* The existing AngularFire v6 API surface has moved from `@angular/fire/*` to `@angular/fire/compat/*` (see compatibility mode)
* New modular API surface available at `@angular/fire/*`
* Various cleanup

[See the v7 upgrade guide for more information.](https://github.com/angular/angularfire/blob/master/docs/version-7-upgrade.md)

<a name="6.1.5"></a>
# [6.1.5](https://github.com/angular/angularfire/compare/6.1.4...6.1.5) (2021-05-17)

Expand Down
38 changes: 24 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# AngularFire
The official [Angular](https://angular.io/) library for [Firebase](https://firebase.google.com/).

<strong><pre>ng add @angular/fire@next</pre></strong>
<strong><pre>ng add @angular/fire</pre></strong>

AngularFire smooths over the rough edges an Angular developer might encounter when implementing the framework-agnostic [Firebase JS SDK](https://github.com/firebase/firebase-js-sdk) & aims to provide a more natural developer experience by conforming to Angular conventions.

Expand All @@ -14,21 +14,27 @@ AngularFire smooths over the rough edges an Angular developer might encounter wh
- **Google Analytics** - Zero-effort Angular Router awareness in Google Analytics
- **Router Guards** - Guard your Angular routes with built-in Firebase Authentication checks

---

> **WARNING**: This branch is the work in progress for version 7 of AngularFire. [You can find version 6 here](https://github.com/angular/angularfire/tree/v6), if you're looking for documentation or to contribute to stable.
---

## Example use

```ts
import { Component } from '@angular/core';
import { provideFirebaseApp, getApp, initializeApp } from '@angular/fire/app';
import { getFirestore, provideFirestore } from '@angular/fire/firestore';

@NgModule({
imports: [
provideFirebaseApp(() => initializeApp({ ... })),
provideFirestore(() => getFirestore()),
],
...
})
export class AppModule { }
```

```ts
import { Firestore, collectionData, collection } from '@angular/fire/firestore';
import { Observable } from 'rxjs';

interface Item {
id: string,
name: string,
...
};
Expand All @@ -43,11 +49,11 @@ interface Item {
</ul>
`
})
export class MyApp {
export class AppComponent {
item$: Observable<Item[]>;
constructor(firestore: Firestore) {
const collection = collection(firestore, 'items');
this.item$ = collectionData(collection, 'id');
this.item$ = collectionData(collection);
}
}
```
Expand All @@ -60,7 +66,7 @@ AngularFire doesn't follow Angular's versioning as Firebase also has breaking ch

| Angular | Firebase | AngularFire |
| --------|----------|--------------|
| 12 | [9 <sup>beta</sup>](https://firebase.google.com/docs/web/learn-more#modular-version) | ^7.0 <sup>beta</sup> |
| 12 | 9 | ^7.0 |
| 12 | 7,8 | ^6.1.5 |
| 11 | 7,8 | ^6.1 |
| 10 | 8 | ^6.0.4 |
Expand Down Expand Up @@ -100,7 +106,11 @@ Neither AngularFire or Firebase ship with polyfills. To have compatability acros
## Developer Guide

### **NEW:** Monitor usage of your application in production
AngularFire has a new tree-shakable API, however this is still under active development and documentation is in the works, so we suggest most developers stick with the Compatiability API for the time being. [See the v7 upgrade guide for more information.](docs/version-7-upgrade.md).

This developer guide assumes you're using the Compatiability API (`@angular/fire/compat/*`).

### Monitor usage of your application in production

> `AngularFireAnalytics` provides a convenient method of interacting with Google Analytics in your Angular application. The provided `ScreenTrackingService` and `UserTrackingService` automatically log events when you're using the Angular Router or Firebase Authentication respectively. [Learn more about Google Analytics](https://firebase.google.com/docs/analytics).
Expand Down Expand Up @@ -150,7 +160,7 @@ Firebase offers two cloud-based, client-accessible database solutions that suppo
- [Getting started with Remote Config](docs/remote-config/getting-started.md)

### **NEW:** Monitor your application performance in production
### Monitor your application performance in production

> Firebase Performance Monitoring is a service that helps you to gain insight into the performance characteristics of your iOS, Android, and web apps. [Learn more about Performance Monitoring](https://firebase.google.com/docs/perf-mon).
Expand Down
4 changes: 2 additions & 2 deletions docs/deploy/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ In this guide, we'll look at how to use `@angular/fire` to automatically deploy
First, you need to add the `@angular/fire` package to your project. In your Angular CLI project run:

```shell
ng add @angular/fire@next
ng add @angular/fire
```

*Note that the command above assumes you have global Angular CLI installed. To install Angular CLI globally run `npm i -g @angular/cli`.*
Expand Down Expand Up @@ -53,7 +53,7 @@ In the end, your `angular.json` project will look like below:
If you want to add deployment capabilities to a different project in your workspace, you can run:

```
ng add @angular/fire@next --project=[PROJECT_NAME]
ng add @angular/fire --project=[PROJECT_NAME]
```

## Step 2: deploying the project
Expand Down
2 changes: 1 addition & 1 deletion docs/install-and-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The Angular CLI's `new` command will set up the latest Angular build in a new pr
### 2. Install AngularFire and Firebase

```bash
ng add @angular/fire@next
ng add @angular/fire
```

Now that you have a new project setup, install AngularFire and Firebase from npm.
Expand Down
Loading