Skip to content

build: update cross-repo angular dependencies - #4067

Open
angular-robot wants to merge 1 commit into
angular:mainfrom
angular-robot:ng-renovate/cross-repo-angular-dependencies
Open

angular-robot wants to merge 1 commit into
angular:mainfrom
angular-robot:ng-renovate/cross-repo-angular-dependencies

Conversation

@angular-robot

@angular-robot angular-robot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@angular/build 22.3.0-next.3 → 22.3.0-next.4 age adoption passing confidence
@angular/cdk 22.3.0-next.3 → 22.3.0-next.4 age adoption passing confidence
@angular/cli 22.3.0-next.3 → 22.3.0-next.4 age adoption passing confidence
@angular/fire 21.0.0-rc.2 → 22.0.0-rc.0 age adoption passing confidence
@angular/material 22.3.0-next.3 → 22.3.0-next.4 age adoption passing confidence

  • If you want to rebase/retry this PR, check this box

Release Notes

angular/angular-cli (@​angular/build)

v22.3.0-next.4

Compare Source

@​angular/cli
Commit Type Description
7d6550ef25 feat support Oxfmt for automatic file formatting
540a1c495d fix explain how to pick a project when a schematic cannot determine one
322777d80b fix handle bun registry error output and 404 detection
3adad37a90 fix support resolving subproject dependencies in bun workspaces
@​schematics/angular
Commit Type Description
6588204b8f fix avoid adding web worker snippet to server configuration files
a68d0df2ca fix ignore non-workspace stylesheet entries when adding Tailwind
43c401c6b4 fix include the SSR entry file in the trust-proxy-headers migration
4a59335cc5 fix include the type separator in the class spec import
4ea7c673e0 fix keep the default getter access type of spyOnProperty in refactor-jasmine-vitest
54f261817c fix migrate CallInfo returnValue and object in refactor-jasmine-vitest
d3acc84bed fix migrate spy.calls.first().args in refactor-jasmine-vitest
02a067813b fix set explicit type for the module --route component
0be52a8834 fix set explicit type for the app-shell component
@​angular-devkit/build-angular
Commit Type Description
d2aafa2d25 fix resolve dev-server sslKey and sslCert relative to the workspace root (#​34399)
@​angular-devkit/core
Commit Type Description
c44762fd44 fix only invoke smart default provider when value is undefined
@​angular-devkit/schematics
Commit Type Description
9d6baa30ae fix support delegating trees in partition (#​34539)
5094cd66c9 fix support delegating trees in the filter rule (#​34539)
@​angular/build
Commit Type Description
65f302c5df fix avoid expanding directory patterns in asset globs
537a47a482 fix escape prerender redirect URLs
d609a21333 fix improve library bundler resolution and watch shared chunk consistency
be15160ff0 fix improve library compilation diagnostics and stylesheet reference tracking
f25cdbeadc fix include the oxc-parser WASI binding as an optional dependency
70c2143c33 fix key the Vitest fsModuleCache on the served build output
77fb7fa0f2 fix only require karma-coverage when coverage is enabled
fe60e27105 fix resolve dev-server sslKey and sslCert relative to the workspace root (#​34399)
9534f6287e fix scope BundlerContext invalidation and cache one-shot bundle results
dd095343a5 fix serialize server manifest asset paths
eb38ef3904 fix suggest the istanbul provider in the unit-test V8 browser coverage error
cd3d30c6b6 fix warn about unsupported options in the unit-test karma runner
b0c415aec0 fix write the stats file in a stable, deterministic order
f15c8c6410 perf avoid duplicate Domino bundling in server bundles
7f4de14688 perf avoid web worker channel overhead in library parallel compilation
5416c9fcd9 perf optimize library dts bundling and enable dts tree-shaking
016a7f150d perf overlap library asset resolution with bundling and typechecking
@​angular/ssr
Commit Type Description
194b64137e fix preserve trailing slashes in query and fragment of redirect URLs
angular/components (@​angular/cdk)

v22.3.0-next.4

Compare Source

aria
Commit Type Description
8fc6eacef fix menu: avoid re-rendering when unrelated elements are added (#​33996)
material
Commit Type Description
79af796a9 fix checkbox: duplicate required error with signal forms
19c161027 fix slide-toggle: duplicate required error with signal forms
multiple
Commit Type Description
14c794436 fix update fake event detection in aria (#​34004)
angular/angularfire (@​angular/fire)

v22.0.0-rc.0

Compare Source

Upgrading from AngularFire 21

This is the first release candidate of AngularFire 22, which supports Angular 22. It is published under npm's next tag. It requires Angular 22, TypeScript 6.0 and firebase 12.18.0 or newer. ng add and ng deploy work with firebase-tools 14 or 15.

From an app on Angular 21 and AngularFire 21, run one command:

ng update @angular/core@22 @angular/cli@22 @angular/fire@next

Include @angular/fire@next in the same command as Angular. On its own, ng update @angular/core@22 @angular/cli@22 refuses to run while AngularFire 21 is installed. The AngularFire 22 upgrade guide covers the rest.

On a new Angular 22 app, run ng add @angular/fire@next.

Breaking changes

Angular 22 and TypeScript 6.0 are required (#​3801)
  • Node.js 20 is no longer supported (end of life since 2026-04-30). Angular 22 requires Node.js 22.22.3, 24.15.0 or 26.
  • TypeScript 6 may report new compiler errors that Angular's own update does not fix. It turns strict on by default, drops downlevelIteration, and deprecates baseUrl and moduleResolution: "node". Check your tsconfig.json for those settings.
firebase is now a peer dependency (#​3805)

Through AngularFire 21, @angular/fire installed its own copy of firebase. If your package.json listed a different firebase version, npm could install both, and the two copies reject each other's objects at runtime (#​3684, #​3681, #​3682). In AngularFire 22, the firebase version in your package.json is the only copy installed.

  • ng update handles it. The migration adds "firebase": "^12.18.0" to your package.json if it is missing, or moves an existing entry into that range.
  • Installing by hand: run npm install @angular/fire@next firebase@^12.18.0, then check that npm ls firebase shows one copy.
  • An incompatible firebase now fails at install time on npm, with ERESOLVE. Do not use --force or --legacy-peer-deps to get past it, which brings the two-copy errors back.

Deprecated

Deploying server-side rendering to Cloud Functions with ng deploy (#​3803)

Deprecated in AngularFire 22, removed in AngularFire 23. Server-rendered apps should move to Firebase App Hosting.

  • Affected: deploy targets with ssr: true or ssr: 'cloud-functions'. ng deploy now prints a deprecation warning before the build, and the CF3v2 and functionsRuntimeOptions options are marked deprecated.
  • Not affected: hosting-only and Cloud Run deploys. They also no longer print the old "Legacy ng-deploy Firebase is deprecated" message.

Updating from a canary build

A canary build of 22 was saved as an exact version in your package.json, so it does not move on its own. Run:

ng update @angular/fire@next

What's Changed

Angular 22
  • build!: require Angular 22 and compile with TypeScript 6. The screen-tracking service reads the routed component's selector through reflectComponentType, since ComponentFactoryResolver is gone from Angular 22. No change is visible to apps. by @​armando-navarro, with @​EthanSK as co-author, in #​3801
Installing and upgrading
  • build!: firebase is a peer dependency, and ng update @angular/fire@next runs a v22 migration that adds or aligns your firebase entry. See "Breaking changes" above. by @​armando-navarro in #​3805
  • build(schematics): @angular/fire no longer installs @angular-devkit/schematics, @angular-devkit/core or @schematics/angular, which the Angular CLI supplies when it runs ng add and ng update. A production install of a CLI app lists 112 packages instead of 136. If you run the schematics with the standalone schematics command on pnpm with hoist=false, declare those three packages yourself. by @​armando-navarro in #​3808
  • build: the npm package no longer ships the docs/ folder, which no code read. The package is 122 files instead of 175, and 1.2 MB instead of 2.0 MB compressed. The docs live on GitHub. by @​armando-navarro in #​3811
Firestore
  • feat(firestore): Firestore pipeline operations are available from the new @angular/fire/firestore/pipelines and @angular/fire/firestore/lite/pipelines entry points. Pipelines require a Firestore Enterprise edition database. by @​KingDarBoja in #​3799
Deploy
  • feat(deploy): deprecate deploying server-side rendering to Cloud Functions. See "Deprecated" above. by @​armando-navarro in #​3803
Documentation
  • docs: the AngularFire 22 upgrade guide, docs/version-22-upgrade.md, is new. by @​armando-navarro in #​3805
  • docs: the auth guide and the sample import beforeAuthStateChanged from @angular/fire/auth, and the v21 upgrade guide names every AI symbol the Imagen removal took, not only getImagenModel. by @​armando-navarro in #​3817
  • docs: the README and the Quickstart describe AngularFire 21 as released, not as a release candidate. by @​armando-navarro in #​3814
  • docs(compat): docs/compat.md states the compatibility API's support status: supported and kept working, bug fixes yes, new features in the modular API only, no planned removal. by @​armando-navarro in #​3810
Repository
  • build: the repository's build and test targets use the @angular/build builders instead of the deprecated @angular-devkit/build-angular ones. The published package is byte-identical. by @​armando-navarro in #​3807

Full Changelog: angular/angularfire@21.0.0...22.0.0-rc.0

v22.0.0-canary.20261027184955.sha-1b1a8b6

Compare Source

v22.0.0-canary.20261027163619.sha-0c924da

Compare Source

v22.0.0-canary.20261027153626.sha-503ce83

Compare Source

v22.0.0-canary.20261027150920.sha-20409f8

Compare Source

v22.0.0-canary.20261027143928.sha-5f17245

Compare Source

v22.0.0-canary.20261027141056.sha-80ed66b

Compare Source

v22.0.0-canary.20261026122357.sha-7146c2d

Compare Source

v22.0.0-canary.20261023210158.sha-29ca012

Compare Source

v22.0.0-canary.20261023183021.sha-f95d598

Compare Source

v22.0.0-canary.20261023181032.sha-7f13f64

Compare Source

v21.0.0

Upgrading from AngularFire 20

AngularFire 21 requires Angular 21.2 or newer, firebase 12.18.0 or newer, rxfire 6.2.0 or newer, and TypeScript 5.8 or newer (below 6). ng add and ng deploy work with firebase-tools 14 or 15.

ng update @angular/core@21 @angular/cli@21 @angular/fire

The AngularFire 21 upgrade guide covers the rest, including the Vertex AI to Firebase AI Logic move.

Update firebase together with @angular/fire. If your package.json still requests firebase 11, npm does not report a conflict. It installs both SDK versions side by side, and the two copies reject each other's objects at runtime. ng update @angular/fire@21 moves your firebase dependency to ^12.18.0 for you. If you upgrade by hand, run npm install firebase@^12 with it, then check that npm ls firebase shows one version.

Breaking changes

  • Angular 21.2 or newer is required (#​3763). Angular 21 is in long-term support, so 21.2 is its final minor line. Run ng update @angular/core @angular/cli first if your app is on 21.0 or 21.1.

  • firebase 12.18.0 or newer and rxfire 6.2.0 or newer are required (#​3761, #​3723). Older rxfire versions ask for firebase 11, which installs a second SDK copy next to your firebase 12.

  • The @angular/fire/vertexai entry point is gone. Its replacement is @angular/fire/ai, Firebase AI Logic (#​3674). ng update @angular/fire@21 rewrites the imports and renamed symbols, emits AgentPlatformBackend in place of the deprecated VertexAIBackend, and changes the default location from us-central1 to global, warning for every file whose region changed (#​3725, #​3762). The Imagen API, removed in firebase 12.18, is no longer wrapped, and the migration warns remaining Imagen users (#​3750).

  • App Check no longer runs during server rendering by default (#​3773). AngularFire no longer calls the function passed to provideAppCheck on the server, and inject(AppCheck) returns null there. Browser-side behavior is unchanged. This fixes the ReferenceError: document is not defined build failure in server-rendered apps, because the reCAPTCHA providers need a browser. To keep App Check running during server rendering, provide APP_CHECK_ON_SERVER as true in your server config:

    import { APP_CHECK_ON_SERVER } from '@angular/fire/app-check';
    
    // in your server app config's providers
    { provide: APP_CHECK_ON_SERVER, useValue: true },

    Details, including how server-side Firebase requests can still carry an App Check token: App Check during server rendering.

Updating from a 21 release candidate or canary build

Installing a release candidate saves its exact version, so it does not move on its own (#​3709). Run:

ng update @angular/fire@21

If you installed a canary build, run npm install @angular/fire@latest instead. ng update does not offer 21.0.0 to a 21.0.1-canary install, because the canary's version number is higher.

What's Changed

Fixes that also shipped to Angular 20 apps in 20.0.3, 20.1.0 and 20.1.1 are not repeated here.

Upgrading to v21
  • fix: ng update @angular/fire updates your project's firebase dependency to the supported ^12.18.0, and ng add aligns it during setup, preventing duplicated-SDK installs. by @​armando-navarro in #​3722
  • feat: ng add @angular/fire warns when firebase is installed at more than one version, and shows the dependency chain. Prevents various hard-to-diagnose bugs. by @​armando-navarro in #​3760
  • fix: ng update @angular/fire no longer stops before the v21 migration when it runs under Angular CLI 22.3, whose schematics package refuses the file path AngularFire's schematics loaded. by @​armando-navarro in #​3793
  • build: AngularFire wraps four new Cloud Messaging functions from firebase 12.18: onRegistered, onUnregistered, register and unregister. by @​armando-navarro in #​3761
Setting up (ng add)
  • fix: ng add generates working @angular/fire/ai imports when the AI feature is selected, instead of imports from a removed module path. by @​coturiv in #​3685
  • fix: the provideDataConnect(...) call that ng add generates escapes the values it takes from your dataconnect.yaml and connector.yaml. A value containing a quote character could previously place arbitrary code in the generated file. by @​herdiyana256 in #​3727
  • fix: log the caught error when dataconnect.yaml parsing fails, instead of discarding it. by @​armando-navarro in #​3711
Deploying (ng deploy)
  • fix: ng deploy no longer crashes on launch with ERR_INVALID_ARG_TYPE. The schematics ship as a CommonJS bundle, which turned the code's import.meta lookup into undefined before it reached any real work. by @​armando-navarro in #​3729
  • fix: declare the three packages the schematics require at runtime (jsonc-parser, @angular-devkit/core, @angular-devkit/architect). The published package.json never listed them, so ng deploy failed to resolve modules under pnpm's default layout and Yarn Plug'n'Play. by @​armando-navarro in #​3747
Server-side rendering
Documentation
Sample app
  • chore: the sample app runs on Angular 21 as the v21 CLI generates it (zoneless change detection, incremental hydration, Express 5), with a working Cloud Functions demo on Node 22. by @​markgoho in #​3671

New Contributors

Thanks to everyone who tested the release candidates and reported issues. The reports on #​3684, #​3681 and #​3682 are what identified the duplicated-SDK cause, and they are why ng update corrects it for you.

Full Changelog: angular/angularfire@20.1.1...21.0.0

@angular-robot angular-robot added action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project target: automation This PR is targeted to only merge into the branch defined in Github [bot use only] labels Oct 26, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates @angular/fire from 21.0.0-rc.2 to 21.0.0 in apps/code-of-conduct/package.json along with the corresponding lockfile updates. A review comment points out a potential peer dependency conflict, as @angular/fire@21.0.0 expects Angular ^21.2.0 and TypeScript ^5.8.0, whereas the project currently uses Angular 22.3.0-next.2 and TypeScript 6.0.3 which could lead to compilation or runtime issues.

Comment thread apps/code-of-conduct/package.json Outdated
"@angular/compiler": "22.3.0-next.2",
"@angular/core": "22.3.0-next.2",
"@angular/fire": "21.0.0-rc.2",
"@angular/fire": "21.0.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Updating @angular/fire to 21.0.0 introduces a peer dependency conflict with the other Angular dependencies in this project. According to the release notes, @angular/fire@21.0.0 requires @angular/core and @angular/common version ^21.2.0 and TypeScript ^5.8.0 (below 6.0.0). However, this project is currently using @angular/core@22.3.0-next.2 and typescript@6.0.3. Using @angular/fire v21 with Angular v22 can lead to runtime errors or compilation failures due to breaking changes in the major version of Angular. To resolve this, align the Angular version to ^21.2.0 or use a compatible pre-release version of @angular/fire that supports Angular v22.

@angular-robot
angular-robot force-pushed the ng-renovate/cross-repo-angular-dependencies branch from ab95482 to d8563b2 Compare October 28, 2026 10:26
@angular-robot angular-robot changed the title build: update dependency @angular/fire to v21.0.0 build: update cross-repo angular dependencies Oct 28, 2026
@angular-robot
angular-robot force-pushed the ng-renovate/cross-repo-angular-dependencies branch from d8563b2 to 08a630b Compare October 28, 2026 17:55
See associated pull request for more information.
@angular-robot
angular-robot force-pushed the ng-renovate/cross-repo-angular-dependencies branch from 08a630b to 39c87ab Compare October 28, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project target: automation This PR is targeted to only merge into the branch defined in Github [bot use only]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant