Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 1, 2025

This PR contains the following updates:

Package Change Age Confidence
@angular-devkit/build-angular ^20.0.0 -> ^21.0.0 age confidence
@angular/animations (source) ^20.0.0 -> ^21.0.0 age confidence
@angular/build ^20.0.0 -> ^21.0.0 age confidence
@angular/cli ^20.0.0 -> ^21.0.0 age confidence
@angular/compiler (source) ^20.0.0 -> ^21.0.0 age confidence
@angular/compiler-cli (source) ^20.0.0 -> ^21.0.0 age confidence
@angular/core (source) ^20.0.0 -> ^21.0.0 age confidence
@angular/forms (source) ^20.0.0 -> ^21.0.0 age confidence
@angular/platform-browser (source) ^20.0.0 -> ^21.0.0 age confidence
@angular/platform-browser-dynamic (source) ^20.0.0 -> ^21.0.0 age confidence
@angular/router (source) ^20.0.0 -> ^21.0.0 age confidence

Release Notes

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

v21.0.1

Compare Source

@​angular/cli
Commit Type Description
363496ae0 fix ensure dependencies are resolved correctly for node modules directory check
@​schematics/angular
Commit Type Description
2f58705cb fix add missing imports for lifecycle hooks in jasmine-vitest migration
c973bb9ca fix add mock names to createSpyObj transformation
4534c9848 fix do not set esModuleInterop and moduleResolution when module is preserve
16d898e75 fix fix migration of jasmine.clock().mockDate()
21c3eac72 fix handle createSpyObj without base name on refactor-jasmine-vitest
b8c99aa4c fix improve safety of done callback transformation
4a71e06fc fix silently skip when the build target already uses one of the new builders
2ffdae421 fix support testRunner option in library schematic
145de4a58 fix warn about loose matching in arrayWithExactContents
@​angular/build
Commit Type Description
d097df2d7 fix correct Vitest coverage path resolution for JSDOM on Windows
cdb607ada fix correctly configure per-browser headless mode in Vitest runner
244931ece fix correctly invoke isTTY as a function
54d542738 fix ensure correct URL joining for prerender routes
a28b38bbe fix force dev-server to use HTTP/1.1 when using SSR with SSL
59ff867f0 fix normalize --include paths to posix
@​angular/ssr
Commit Type Description
03e231216 fix handle X-Forwarded-Prefix and APP_BASE_HREF in redirects
3cac01882 fix prevent redirect loop with encoded query parameters

v21.0.0

Compare Source

Breaking Changes

@​angular/cli
  • The ng commands will no longer automatically detect and use cnpm as the package manager. As an alternative use the .npmrc file to ensure npm uses the cnpm registry.
@​angular/build
    • TypeScript versions older than 5.9 are no longer supported.
  • The javascriptEnabled option for Less is no longer supported. Projects relying on inline JavaScript within Less files will need to refactor their stylesheets to remove this dependency.
@​schematics/angular
Commit Type Description
e417c89f9 feat Add addTypeToClassName option to relevant schematics
ede5e52bc feat add include option to jasmine-to-vitest schematic
c119910f4 feat add AGENTS.md support to ai-config schematic
d0d2a17b8 feat add Jasmine spy API transformations to jasmine-to-vitest schematic
e7d955bed feat add matcher transformations to jasmine-to-vitest schematic
629f5cb18 feat add misc transformations to jasmine-to-vitest schematic
4912f3990 feat add Tailwind CSS option to application schematic and ng new
2a518016d feat Applications are zoneless by default
2ffc527b1 feat configure Vitest for new projects and allow runner choice
58474ec7d feat introduce initial jasmine-to-vitest unit test refactor schematic
9f255f2b3 feat set packageManager in package.json on new projects
4e6c94f21 feat support different file name style guides in ng new
77741f5ee fix add 'update-typescript-lib' migration
f89750b27 fix add addImports option to jasmine-vitest schematic
9dab5780a fix add fixture.whenStable in spec files when zoneless apps
8f0f6a5f1 fix add migration to update moduleResolution to bundler
e8feba9ee fix add missing typeSeparator to main.ts.template file
515b09c4f fix add Vitest config generation and runner checks
0e83fe1a8 fix add warnings and improve Karma config generation
b91fa31f2 fix align Karma project generation with unified unit-test builder
c967a447c fix correct spacing in application spec tsconfig
00d941c43 fix correct style guide paths for standalone components
e33e77d12 fix flag '--file-name-style-guide=2016' - wrong import in main.ts
f35b9f331 fix improve comment preservation in jasmine-to-vitest
6615fcf03 fix issues in apps generated with '--file-name-style-guide=2016' flag
e304821d5 fix make ai-config schematic non-destructive
512ad282a fix preserve blank lines in jasmine-to-vitest schematic
b524ba426 fix remove empty i18n-extract target for new projects
8e6e0a293 fix remove explicit flag for host bindings
afb4d3e37 fix remove extra space before async in spec templates
b983ea8e5 fix respect skip-install for tailwind schematic
54c4eae2a fix transform Jasmine type annotations in jasmine-to-vitest schematic
14c0a9bac perf optimize AST traversal utilities
@​angular/cli
Commit Type Description
58d101d5e feat add --json output to ng version
d014630fa feat add advanced filtering to MCP example search
6d3a3c579 feat add ai-tutor mcp tool
1c06b16a9 feat add builder info to list_projects MCP tool
301b50da4 feat add fallback support for packages without direct ng add functionality
3040b777e feat add style language detection to list_projects tool
45024e836 feat add unit test framework detection to list_projects tool
104c90768 feat enhance ng version output with more details
286b6204c feat make documentation search tool version-aware
406315d09 feat make find_examples tool version-aware
68e711307 feat make get_best_practices tool version-aware
50453fdee feat overhaul ng version command output
1ee9ce3c9 feat promote MCP find_examples tool to a stable tool
0d53e82d5 feat provide detailed peer dependency conflict errors in ng add
f513089e2 feat remove direct support for cnpm
c17d7a929 fix add schema versioning and metadata to example database
dbf1aaf70 fix add snippet support to example search MCP tool
dfb4242b3 fix add vitest to version command output
11cee1acb fix correct boolean parsing in MCP example front matter
122a8c0e2 fix correct frontmatter parsing in MCP examples tool
431106559 fix correct query in find_examples to prevent runtime error
def412a55 fix enhance find_examples MCP tool with structured output
0922a033f fix improve JSON schema parsing for command options
f099c9157 fix improve list_projects MCP tool to find all workspaces in monorepos
1be35b343 fix promote zoneless migration MCP tool to stable
e5aed6d65 fix show planned actions in ng add dry run
4deac3ec7 fix support multi-database search in find_examples MCP tool
aeb49dd52 perf cache dependency lookups during ng add
5e534090e perf parallelize peer dependency checks in ng add
@​angular-devkit/build-angular
Commit Type Description
6e395fc0c fix ensure vitest code coverage handles virtual files correctly
53899511a fix expand jest and jest-environment-jsdom to allow version 30
7a8c94615 fix make zone.js optional in server and app-shell builders
@​angular/build
Commit Type Description
00426e315 feat add --list-tests flag to unit-test builder
a908bf3d4 feat add 'filter' option to unit-test builder
3e0209d0a feat add browserViewport option for vitest browser tests
3b7dabbf1 feat add advanced coverage options to unit-test builder
c0b00d78e feat add reporter output file option for unit-test
66dd6dd83 feat allow options for unit test reporters
a90bea5b5 feat support .test.ts files by default in unit test builder
b2f048773 fix add --ui option for Vitest runner
530d9270e fix add define option to dev-server
b554bd73a fix add temporary directory cleanup for Vitest executor
c6176f6df fix add upfront dependency validation for unit-test runners
63c98741a fix add webcontainer support for Vitest browser provider
fcdbf6c19 fix allow globals to be set to false
542d52868 fix allow custom runner configuration file for unit-test
0505f954d fix allow unit-test progress option passthrough for building
931c62d20 fix allow unit-test runner config with absolute path
a11dd31f0 fix configure Vitest cache to use Angular cache
abf003268 fix correct Vitest builder watch mode execution
f05ffd104 fix correct Vitest coverage include handling for virtual files
cd5c92b99 fix correct Vitest coverage reporting for test files
07f712253 fix correctly handle absolute paths and casing in test discovery
bf468e1eb fix direct check include file exists in unit-test discovery
50e330d33 fix disable glob directory expansion when finding tests
49b65aba8 fix disable Vitest test isolation by default
1529595d4 fix drop support for TypeScript 5.8
a44f8fa94 fix dynamically select Vitest DOM environment
ae35543af fix enhance Vitest config merging and validation
fec106b60 fix enhance Vitest dependency externalization and pre-bundling
f7c4a4c1d fix enhance Vitest resolution for optimal package loading
ee5e127d5 fix ensure ɵgetOrCreateAngularServerApp is always defined after errors
0830f4fb5 fix ensure TestBed cleanup hooks are always registered
41b12509a fix ensure TestBed setup is robust in non-isolated Vitest
55145f582 fix ensure Vitest setup files are executed in order
3478aa332 fix exclude .angular from coverage instrumentation
7c529c1bc fix externalize Angular dependencies in Vitest runner
69c3b1226 fix improve error handling in unit-test builder
bab5806c2 fix introduce vitest-base.config for test configuration
73621998f fix normalize paths for Vitest runner output files
fa5c92346 fix prioritize string type for runnerConfig schema
d0787c11d fix provide default excludes for vitest coverage
ac10f323e fix relax requirement for files to be in TS compilation
139758586 fix remove deprecated javascriptEnabled option for Less
6576bb598 fix remove explicit test isolation configuration
9132e6af9 fix resolve browser provider packages using project resolver
26127bd3b fix resolve PostCSS plugins relative to config file
dae732059 fix serve build assets and styles in vitest
705af2278 fix set coverage report directory to coverage/project-name
0851d2eae fix show full aggregate errors from vitest
cc2668f57 fix simplify SSL handling for ng serve with SSR (#​31723)
907eabdd3 fix support ESM PostCSS plugins
62938e799 fix update vitest to 4.0.6 and remove coverage workaround

v20.3.12

Compare Source

v20.3.11

Compare Source

@​angular/build
Commit Type Description
8053f2d92 fix ensure ɵgetOrCreateAngularServerApp is always defined after errors

v20.3.10

Compare Source

@​schematics/angular
Commit Type Description
c854a719b fix correct tsconfig.spec.json include for spec files
@​angular/build
Commit Type Description
b3908f68e fix do not remove @angular/localize when having external packages (#​31721)

v20.3.9

Compare Source

@​angular/ssr
Commit Type Description
08e07e338 fix improve locale handling in app-engine
683697ebc fix improve route matching for wildcard routes

v20.3.8

Compare Source

@​angular-devkit/build-angular
Commit Type Description
813cba9b9 fix expand jest and jest-environment-jsdom to allow version 30
@​angular/build
Commit Type Description
542973ab0 fix add adapters to new reporter
f0885691d fix ensure locale data plugin runs before other plugins
45e498f95 fix handle redirects from guards during prerendering
angular/angular (@​angular/animations)

v21.0.1

Compare Source

compiler-cli
Commit Type Description
39c577bc36 fix do not type check native controls with ControlValueAccessor
8d3a89a477 fix escape angular control flow in jsdoc
bc34083d34 fix ignore non-existent files
core
Commit Type Description
0ea1e07174 fix apply bootstrap-options migration to platformBrowserDynamic
70507b8c1c fix debug data causing memory leak for root effects
a55482fca3 fix notify profiler events in case of errors
49ad7c6508 fix use injected DOCUMENT for CSP_NONCE
cc1ec09931 perf avoid repeat searches for field directive
forms
Commit Type Description
7d5c7cf99a feat add DI option for classes on Field directive
8acf5d2756 fix allow dynamic type bindings on signal form controls
de5fca94c5 fix run reset as untracked
http
Commit Type Description
3240d856d9 fix prevent XSRF token leakage to protocol-relative URLs
migrations
Commit Type Description
f394215b14 fix detect structural ngTemplateOutlet and ngComponentOutlet

v21.0.0

Compare Source

Blog post "Announcing Angular v21".

Breaking Changes

common
  • (test only) - TestBed now provides a fake PlatformLocation
    implementation that supports the Navigation API. This may break some
    tests, though we have not observed any failures internally. You can revert to the
    old default for TestBed by providing the MockPlatformLocation from
    @angular/common/testing in your providers:
    {provide: PlatformLocation, useClass: MockPlatformLocation}
  • ngComponentOutletContent is now of type Node[][] | undefined instead of any[][] | undefined.
  • NgModuleFactory has been removed, use NgModule instead.
compiler-cli
    • Previously hidden type issues in host bindings may show up in your builds. Either resolve the type issues or set "typeCheckHostBindings": false in the angularCompilerOptions section of your tsconfig.
  • The Angular compiler now produces an error when the
    the emitDeclarationOnly TS compiler option is enabled as this mode is
    not supported.
core
  • The server-side bootstrapping process has been changed to eliminate the reliance on a global platform injector.

    Before:

    const bootstrap = () => bootstrapApplication(AppComponent, config);

    After:

    const bootstrap = (context: BootstrapContext) =>
      bootstrapApplication(AppComponent, config, context);

    A schematic is provided to automatically update main.server.ts files to pass the BootstrapContext to the bootstrapApplication call.

    In addition, getPlatform() and destroyPlatform() will now return null and be a no-op respectively when running in a server environment.

  • Using a combination of provideZoneChangeDetection
    while also removing ZoneJS polyfills will no longer result in the
    internal scheduler being disabled. All Angular applications now
    consistenly use the same scheduler, and those with the Zone change detection
    provider include additional automatic scheduling behaviors based on
    NgZone stabilization.

    • TypeScript versions less than 5.9 are no longer supported.
  • (test only) - Using provideZoneChangeDetection in the
    TestBed providers would previously prevent TestBed from rethrowing
    errors as it should. Errors in the test will now be rethrown, regardless
    of the usage of provideZoneChangeDetection. Tests should be adjusted to
    prevent or account for these errors. As in previous major versions,
    this behavior can be disabled with rethrowApplicationErrors: false in
    configureTestingModule as a last resort.

  • ignoreChangesOutsideZone is no longer available as an
    option for configuring ZoneJS change detection behavior.

  • Angular no longer provides a change detection scheduler
    for ZoneJS-based change detection by default. Add
    provideZoneChangeDetection to the providers of your
    bootstrapApplication function or your AppModule (if using
    bootstrapModule). This provider addition will be covered by an
    automated migration.

  • moduleId was removed from Component metadata.

  • The interpolation option on Components has been removed. Only the default {{ ... }} is now supported.

elements
  • Fix signal input getter behavior in custom elements.

    Before this change, signal inputs in custom elements required function calls to access their values (elementRef.newInput()), while decorator inputs were accessed directly (elementRef.oldInput). This inconsistency caused confusion and typing difficulties.

    The getter behavior has been standardized so signal inputs can now be accessed directly, matching the behavior of decorator inputs:

    Before:

    • Decorator Input: elementRef.oldInput
    • Signal Input: elementRef.newInput()

    After:

    • Decorator Input: elementRef.oldInput
    • Signal Input: elementRef.newInput
forms
  • This new directive will conflict with existing FormArray directives or formArray inputs on the same element.
platform-browser
  • The deprecated ApplicationConfig export from @angular/platform-browser has been removed.
    Please import ApplicationConfig from @angular/core instead.
router
  • lastSuccessfulNavigation is now a signal and needs to be invoked
  • Router navigations may take several additional
    microtasks to complete. Tests have been found to often be highly
    dependent on the exact timing of navigation completions with respect to
    the microtask queue. The most common fix for tests is to ensure all
    navigations have been completed before making assertions. On rare
    occasions, this can also affect production applications. This can be
    caused by multiple subscriptions to router state throughout the application,
    both of which trigger navigations that happened to not conflict with the
    previous timing.
upgrade
  • UpgradeAdapter is no longer available. Use
    upgrade/static instead
zone.js
  • IE/Non-Chromium Edge are not supported anymore.

Deprecations

http
  • HttpResponseBase.statusText is deprecated
common
Commit Type Description
c795960ada feat Add experimental support for the Navigation API (#​63406)
9eac43cf46 feat Support of optional keys for the KeyValue pipe (#​48814)
a1868c9d13 feat update to cldr 47 (#​64032)
196fa500a3 fix properly type ngComponentOutlet (#​64561)
7a4b225c57 refactor improve typing of ngComponentOutletContent (#​63674)
25f593ce2a refactor removengModuleFactory input of NgComponentOutlet (#​62838)
compiler
Commit Type Description
ecea909bcc fix don't choke on unbalanced parens in declaration block
04dd75ba94 fix support arbitrary nesting in :host-context()
f54cc4f28a fix support commas in :host() argument
814b2713f5 fix support complex selectors in :nth-child()
aad6ced0ef fix support one additional level of nesting in :host()
compiler-cli

| Commit | Type | Description |
| ------------------------------------------------------------------------------------------------


Configuration

📅 Schedule: Branch creation - "on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Never, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Dec 1, 2025

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: static/code/stackblitz/v8/angular/package-lock.json
npm warn Unknown env config "store". This will stop working in the next major version of npm.
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: angular-starter@undefined
npm error Found: @angular/core@21.0.1
npm error node_modules/@angular/core
npm error   @angular/core@"^21.0.0" from the root project
npm error   peer @angular/core@"21.0.1" from @angular/forms@21.0.1
npm error   node_modules/@angular/forms
npm error     @angular/forms@"^21.0.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer @angular/core@"20.3.14" from @angular/common@20.3.14
npm error node_modules/@angular/common
npm error   @angular/common@"^20.0.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2025-12-01T02_31_36_389Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2025-12-01T02_31_36_389Z-debug-0.log

File name: static/code/stackblitz/v7/angular/package-lock.json
npm warn Unknown env config "store". This will stop working in the next major version of npm.
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: angular-starter@undefined
npm error Found: @angular/core@21.0.1
npm error node_modules/@angular/core
npm error   @angular/core@"^21.0.0" from the root project
npm error   peer @angular/core@"21.0.1" from @angular/forms@21.0.1
npm error   node_modules/@angular/forms
npm error     @angular/forms@"^21.0.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer @angular/core@"20.3.14" from @angular/common@20.3.14
npm error node_modules/@angular/common
npm error   @angular/common@"^20.0.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2025-12-01T02_31_37_770Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2025-12-01T02_31_37_770Z-debug-0.log

@renovate renovate bot requested a review from a team as a code owner December 1, 2025 02:31
@renovate renovate bot requested a review from thetaPC December 1, 2025 02:31
@vercel
Copy link

vercel bot commented Dec 1, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
ionic-docs Ready Ready Preview Comment Dec 1, 2025 2:33am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant