38441 Commits

Author SHA1 Message Date
Jessica Janiuk df659b8d0c feat(core): re-introduce nested leave animations scoped to component boundaries
This commit re-introduces support for nested leave animations with a critical adjustment to prevent cross-component blocking. Wait for nested inner `animate.leave` transitions natively only when they exist within the same component's view or its embedded tracking structures (like `@if` and `@for`).

This resolves the issue where route navigations and parental destruction would excessively stall by traversing down into child component architectures to wait for their distinct leaf animations.

BREAKING CHANGE: Leave animations are no longer limited to the element being removed.

Fixes #67633
2026-03-13 13:01:55 -06:00
Kristiyan Kostadinov 412788fac9 fix(compiler): ensure generated code compiles
Initial pass to make sure some common cases produce code that compiles.
2026-03-13 11:13:03 -06:00
Kristiyan Kostadinov ed9750d6d7 refactor(compiler-cli): update ast factories to account for type nodes
Updates the Babel and TypeScript AST factories to account to produce type nodes.
2026-03-13 11:13:03 -06:00
Kristiyan Kostadinov 1639fc565b refactor(compiler-cli): add type nodes to translator
Updates the translator and AST factories to account for type nodes.
2026-03-13 11:13:03 -06:00
Kristiyan Kostadinov 2831ff2330 refactor(compiler-cli): add generic for type nodes to AST factories
Updates the type factories and various usage sites to add a generic for type nodes.
2026-03-13 11:13:03 -06:00
Jessica Janiuk 17d8a88ddc refactor(core): Update determineLongestAnimation to account for playback rate
This updates the determineLongestAnimation code to also calculate the playback rate in with the duration, which should also account for timing when testing with playback rates changed in devtools.
2026-03-12 17:36:50 -06:00
Jordan Webster 89c9a4de30 feat(router): Add options optional parameter for withComponentInputBinding
Add `ComponentInputBindingOptions` which is used with `withComponentInputBinding` and `bindToComponentInputs`
Can set which sources to bind as follows:
* queryParams
* params
* data

feat(router): Add `options` optional parameter for `withComponentInputBinding`

Add missing ternary operator for queryParams
2026-03-12 16:36:23 -06:00
SkyZeroZx 8edcf41760 refactor(compiler-cli): add warning for matching viewport @defer trigger options
Ensures that viewport `@defer` trigger prefetch warnings occur when the viewport options are identical, including cases with empty or no parameters.
2026-03-12 16:21:02 -06:00
Angular Robot a92949421f docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-03-12 16:10:11 -06:00
Angular Robot 81d0807242 build: update all non-major dependencies
See associated pull request for more information.
2026-03-12 16:08:35 -06:00
Alan Agius bb628d8b50 refactor: ensure modules with 'declare global' are correctly handled by Rollup
Explicitly adding an `export {}` to modules containing `declare global` fixes an issue where Rollup would incorrectly claim that the `global` variable is not defined in the emitted `.d.ts` files.

Needed to land the latest `rules_angular`.
2026-03-12 14:58:00 -06:00
Andrew Scott dc3131c639 feat(core): TestBed.getFixture -> TestBed.getLastFixture and update implementation
TestBed.getFixture is now TestBed.getLastFixture and returns the last fixture
created rather than throwing if there are more than 1.
2026-03-12 14:57:16 -06:00
Matthieu Riegler 4874c54c08 refactor(forms): remove deprecated WithField
This commit removes, `WithField`, `WithOptionalField`, `WithoutField`
2026-03-12 14:55:46 -06:00
Alan Agius 55b2e95fef build: disable sourcemaps in esbuild_config by setting sourcemap = False
This is now possible due to a fix in esbuild rules.
2026-03-12 14:54:43 -06:00
Matthieu Riegler a38497756a build: update mermaid to 11.13.0
partial takeover of #67637
2026-03-12 14:51:09 -06:00
Joey Perrott 41cdc92303 docs: release notes for the v19.2.20 release 2026-03-12 14:47:45 -06:00
Matthew Beck 432a3de09f docs: release notes for the v20.3.18 release 2026-03-12 13:25:53 -06:00
Matthew Beck 4cbc1a1d87 release: cut the v22.0.0-next.3 release v22.0.0-next.3 2026-03-12 13:12:48 -06:00
Matthew Beck 5b66252acd docs: release notes for the v21.2.4 release 2026-03-12 13:00:21 -06:00
Kristiyan Kostadinov 78dea55351 fix(compiler): disallow translations of iframe src
Fixes that the compiler was allowing translations of `src` attributes in iframes which can be a security issue.
2026-03-12 11:01:26 -06:00
Kristiyan Kostadinov de0eb4c656 fix(core): sanitize translated form attributes
Fixes that we weren't sanitizing the `form` and `formaction` attributes when they're used together with translations.
2026-03-12 11:01:26 -06:00
Jessica Janiuk 999c14eaab fix(core): reverts "feat(core): add support for nested animations"
This reverts commit ea2016a6dc.

This reverts the support for nested animations due to the global scope of how nested animations were gathered.
This caused issues where on route navigations, all child nodes with animations would be queued and run before the navigation would occur.
We'll be revisiting the nested animations with a more tightened scope of when those leave animations will occur.

fixes: #67552
2026-03-12 10:58:03 -06:00
Andrew Scott 0ab344c608 docs: release notes for the vscode extension 21.2.3 release 2026-03-11 14:55:46 -07:00
wokis 3d25953e69 docs: document coverageExclude option for excluding files from coverage 2026-03-11 14:31:06 -07:00
Angular Robot ec769851d4 build: update bazel dependencies
See associated pull request for more information.
2026-03-11 14:20:12 -07:00
Jon Snow 88235a0d12 docs(forms): clarify zoneless change detection for reactive FormArray updates
Document that reactive forms model mutations such as FormArray.push() do not schedule component change detection in zoneless applications and show the recommended ways to notify Angular.

Fixes #65536
2026-03-11 14:13:17 -07:00
Alan Agius 667219230a test: remove duplicate tests (#67518)
These tests are duplicate and have been removed.

PR Close #67518
2026-03-11 13:37:33 -07:00
Alan Agius 4febb8ad31 build: update aspect_rules_js to 3.0.2 (#67518)
This updates the major version of `aspect_rules_js`.

PR Close #67518
2026-03-11 13:37:33 -07:00
Andrew Scott cfb8aff968 release: cut the v22.0.0-next.2 release v22.0.0-next.2 2026-03-11 13:10:36 -07:00
Andrew Scott dea3241be6 docs: release notes for the v21.2.3 release 2026-03-11 12:06:51 -07:00
cexbrayat 3c2d95aea8 refactor(forms): normalize experimental version tags in signals api
Also replaces v21.3 with v22.0, as v21.3 should not exist.
2026-03-11 11:40:06 -07:00
JoostK b401c18674 fix(core): include signal debug names in their toString() representation
The `toString()` implementations in the primitives package intended to include
the debug name, yet the debug name was evaluated during construction before it
could ever have been assigned. This commit fixes that.

The Angular wrappers override the `toString()` representation to evaluate signals
ad-hoc instead of showing their internal state, and this commit aligns their
behavior to include the debug name in `toString` as well.
2026-03-11 11:28:35 -07:00
SkyZeroZx 0837d25a70 refactor(common): Removes unused generic type parameters from KeyValueDiffers
Remove unused generic type parameters from KeyValueDiffers methods
2026-03-11 10:49:11 -07:00
Matthieu Riegler 4842f5a3b7 refactor(core): remove old resource params
G3 has been cleaned up we can drop those.
2026-03-11 10:44:12 -07:00
Angular Robot 4c532bdfb4 build: lock file maintenance
See associated pull request for more information.
2026-03-11 10:08:58 -07:00
Thomas Willberger eafce6ed09 docs: remove duplicate aria-hidden attribute in angular aria ngTree example 2026-03-11 10:03:09 -07:00
Angular Robot 563eff0f49 build: update pnpm to v10.32.0
See associated pull request for more information.
2026-03-11 09:57:53 -07:00
Angular Robot 48d9b4b2d8 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-03-11 09:56:36 -07:00
SkyZeroZx 66e72efef4 refactor(compiler-cli): simplifies IncrementalCompilation.fresh
Removes the `ts.Program` argument from the `IncrementalCompilation.fresh` method.
2026-03-11 09:41:02 -07:00
Ibrahim Hussien 903d51e855 docs: combine multiple documentation improvements into one PR 2026-03-11 09:29:45 -07:00
SkyZeroZx 3ce1d9a755 docs(docs-infra): fix close button clickability and prevent layout shift
Adjust the z-index to ensure the close button remains clickable.

Also remove an unnecessary `position: relative` that was causing
layout shifts in the docs UI, which resulted in a visible and
unintended layout movement.
2026-03-11 09:28:05 -07:00
hawkgs 832d428d0e refactor(devtools): change upstream and downstream signal deps icons
Update the icons with better custom ones; Introduce an icon component and an assets folder.
2026-03-11 09:25:34 -07:00
Alan Agius 71c9c6d5e5 release: bump Angular DevTools version to 1.13.0 2026-03-11 14:23:20 +01:00
Leon Senft 57ba621c81 test(forms): read only context prevents writing to field value
Test that the read only context prevents writing to a field value:

* In validation rules
* In a provided configuration
2026-03-10 15:07:42 -07:00
Leon Senft 3e7ce0dafc fix(forms): restrict SignalFormsConfig to a readonly API
Introduce `FormFieldBinding` to represent a binding between a field and
a UI control through a `FormField` directive. This interface is used to
restrict `SignalFormsConfig` and `formFieldBindings` to a readonly API.

Fix #65779.
2026-03-10 15:07:42 -07:00
Leon Senft a1a6c5282e refactor(forms): restrict reactive logic to a readonly API
Reactive logic in forms is not intended to mutate state, but this was
poorly communicated by the permissive and highly mutable field context
provided to all logic functions. This change splits all of the
state-related API into writable and readonly interfaces.

* Top-level functions that produce a `FieldTree` (e.g. `form()`) expose
  writable signals (e.g. `value: WritableSignal<T>`) and mutating
  methods (e.g. `markAsDirty()`).

* Reactive logic expose readonly signals (e.g. `value: Signal<T>`) and
  omit mutating methods.
2026-03-10 15:07:42 -07:00
Angular Robot 02a617e89e build: update dependency @rollup/plugin-babel to v7
See associated pull request for more information.
2026-03-10 13:09:06 -07:00
Matthieu Riegler a675950e44 refactor(core): interface cleanup
Should be fine to land this time.
2026-03-10 12:44:32 -07:00
Andrew Scott dbbc38ad14 refactor(compiler-cli): Export hybrid analysis from bin
This is necessary to actually use the exported symbols. Verified by building locally
2026-03-10 11:41:50 -07:00
Angular Robot 504a72f789 build: update dependency node to v22.22.1
See associated pull request for more information.
2026-03-10 11:38:07 -07:00