Commit graph

36724 commits

Author SHA1 Message Date
Matthew Beck
4cbc1a1d87 release: cut the v22.0.0-next.3 release 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 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
Kristiyan Kostadinov
8630319f74 fix(core): sanitize translated attribute bindings with interpolations
Fixes that we weren't sanitizing attribute bindings with interpolations if they're marked for translation, for example: `<a href="{{evilLink}}" i18n-href></a>`.

Also adds a bit more test coverage for our sanitization.
2026-03-10 11:13:49 -07:00
Kristiyan Kostadinov
f80ac30875 build: include localize in dev app
Includes `$localize` in the dev app so it's easier to test some code paths.
2026-03-10 11:13:49 -07:00
Kristiyan Kostadinov
1866bf5d61 refactor(compiler-cli): remove more unused code
Cleans up some more usages of TS factory APIs and some unused functions.
2026-03-10 10:57:30 -07:00
Jon Snow
196933863b docs(core): clarify provideZoneChangeDetection usage in v21+
Clarify that provideZoneChangeDetection() is used to opt applications into NgZone/ZoneJS-based change detection and to configure NgZone options such as eventCoalescing.

Fixes #67498
2026-03-10 10:21:07 -07:00
Andrew Scott
ba1508886d refactor(compiler-cli): Export hybrid_analysis symbols
Export symbols from hybrid_analysis from entrypoint
2026-03-10 10:18:36 -07:00
hawkgs
55c57d4af1 refactor(devtools): make signal graph visualizer reusable
Make the signal visualizer reusable by detaching it from the signal graph manager.
2026-03-10 10:14:55 -07:00
Guseyn
9794e756f9 docs: fix first-app code getHousingLocationById housing.service.ts
1. Get location by Id work with `${this.url}/${id}`
2. Method getHousingLocationById returned empty object, api return object type, locationJson[0] ?? {} - give in result empty object.
2026-03-10 10:02:37 -07:00
Guseyn
7bc7c57636 docs: fix first-app 13 step docs code row numbers
Fix docs code row numbers.
2026-03-10 09:59:04 -07:00
Kristiyan Kostadinov
f9ede9ec98 fix(core): ensure definitions compile
Includes the following changes to make sure the definitions for injectable compiler:
1. The types for the `factory` function now include the `parent` parameter.
2. `ɵɵFactoryDeclaration` is now defined as a function. We need this since the provider definition gets passed into the inejctable definition by reference.
3. `ɵɵdefineInjectable`, `ɵɵdefineNgModule` and `ɵɵdefinePipe` now return the typed definition, rather than `unknown`. This aligns with what we do for components and directives.
2026-03-10 09:58:18 -07:00
Eugene Serkin
20496988b1 docs: Update migration docs for vitest
This update fixes minor grammar mistakes
2026-03-10 09:23:49 -07:00
SkyZeroZx
6073493c5b docs: Adds @see links and update defer reference 2026-03-09 16:59:39 -07:00
Andrew Scott
6bd2e7f703 refactor(compiler-cli): Export more things needed by external TCB generation
There are more things needed by external TCB generation tools
2026-03-09 16:58:48 -07:00
Sonu Kapoor
71b8159b37 test(forms): cover transformedValue without FormField context
Adds a test verifying that `transformedValue` exposes parse errors via
the returned signal's `parseErrors()` property when no FormField
context is present.

This ensures that:
- parse errors are still observable without DI-based field propagation
- the model is not updated when `parse` omits `value`
- valid input clears parse errors and updates the model

This test protects the documented contract that DI-based error
propagation is expected for FormValueControl usage, while standalone
usage relies on explicit consumption of `parseErrors()`.
2026-03-09 16:41:48 -07:00
Jessica Janiuk
8c17721333 docs: Update animation docs for element removal order
This update the docs to be clear that descendent node animations will happen before the parent node is removed.

fixes: #67526
2026-03-09 16:40:45 -07:00
Matthieu Riegler
bf93ff83d8 ci: fix exclusion of manual_api_docs
On top of #67253, dev-infra should be required for docs files
2026-03-09 16:27:43 -07:00
Angular Robot
af40009d42 build: update all non-major dependencies
See associated pull request for more information.
2026-03-09 16:25:30 -07:00
Miles Malerba
b918beda32
feat(core): allow debouncing signals
Adds a utility `debounced` to create a debounced version of a signal,
represented as a `Resource`. The resource's value contained the
debounced value of the signal, while its status (`resolved`, `loading`,
or `error`) indicates if the value is settled, if there is a value
currently pending debounce, or if the source signal threw an error.
2026-03-09 13:21:52 -07:00