36287 Commits

Author SHA1 Message Date
Andrew Kushnir 289ddc9e29 release: cut the v21.1.4 release v21.1.4 2026-02-11 09:49:26 -08:00
Matt Lewis 2b99eaa019 fix(core): capture animation dependencies eagerly to avoid destroyed injector
Animation runner functions (runEnterAnimation, runLeaveAnimations,
runLeaveAnimationFunction) execute asynchronously from the animation
queue via afterNextRender. By that time the lView injector may have
been destroyed, causing lView[INJECTOR].get(NgZone) to throw NG0205.

Move the NgZone and MAX_ANIMATION_TIMEOUT lookups into the setup
instructions (ɵɵanimateEnter, ɵɵanimateLeave, ɵɵanimateLeaveListener)
which run synchronously during template processing when the injector
is guaranteed to be valid, and pass them through the closures.

(cherry picked from commit bd2868e915)
2026-02-10 13:31:27 -08:00
Weddly Rodrigues bdcd1b3ca0 docs: rename loadUser mock API to getUserData
(cherry picked from commit c6ca1cd725)
2026-02-10 13:30:48 -08:00
Matthieu Riegler d9ec23e46b test: add test about mapped attributes to input
The dynamic component has `[value]` in its selector and this has always been reflected as a DOM attribute on the dynamically created host element, which is now also synced into the component instance.

fixes #60157

(cherry picked from commit e229328b39)
2026-02-10 13:29:35 -08:00
Charles Lyding a5bd444880 docs: remove legacy e2e configuration from i18n example
Removes the unused 'e2e' configuration block using '@angular-devkit/build-angular:private-protractor' from the i18n example configuration.

(cherry picked from commit 8b4eec6683)
2026-02-10 13:28:52 -08:00
Matthieu Riegler 083f0fa263 fix(vscode-extension): Highlight function calls with optional chaining
eg: `foo?.()` should be highlighted as `foo()`.

fixes #65513

(cherry picked from commit 4f8d3995f0)
2026-02-10 09:42:07 -08:00
SkyZeroZx 2c3f3cc336 refactor(forms): use optional chaining for safer method calls in form directives
Simplifies null checks by leveraging optional chaining when invoking
optional callbacks

(cherry picked from commit 8b3b069be7)
2026-02-10 07:43:02 -08:00
SkyZeroZx ae3c8fbc38 refactor(compiler-cli): removes reflector parameter from wrapTypeReference
The `wrapTypeReference` function no longer needs the `reflector` because it only uses the `clazz` parameter to create a `WrappedNodeExpr`.

(cherry picked from commit e7fa177923)
2026-02-10 07:42:29 -08:00
moraisacr c6bbf403a3 docs(forms): replace 'legacy' with 'existing' in migration guide and navigation
Updates terminology from 'Legacy Forms' to 'Existing Forms' in:
- Migration guide documentation
- Navigation entries label

Backport of #66969
2026-02-09 15:57:57 -08:00
Matthieu Riegler 6c14e3af2e build: update Jasmine to 6.0.0
Jasmine enables `forbidDuplicateNames: true` by default. So we also need to desambiguate duplicate spec names.
2026-02-09 15:57:12 -08:00
Angular Robot 2fe2398b33 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-09 15:53:17 -08:00
Jaime Burgos 19542a30b1 test(common): remove zone-based testing utilities
Removes usages of zone-based helpers such as `fakeAsync` , `tick`
`waitForAsync` as part of the migration to zoneless tests.

Completes the transition to zoneless.

(cherry picked from commit c6d7500203)
2026-02-09 14:47:40 -08:00
Jessica Janiuk d6aeac504c fix(core): Fix flakey test due to document injection
This fixes the test issues with the transfer state by using the DOCUMENT from src/document.

(cherry picked from commit e53c8abaf9)
2026-02-09 14:16:29 -08:00
SkyZeroZx 3905015ccc fix(http): correctly parse ArrayBuffer and Blob in transfer cache
Encodes arraybuffer and blob response bodies as base64 when storing in the transfer cache, ensuring correct retrieval and usage on the client side.

Fixes #66827

(cherry picked from commit cb1163e5e5)
2026-02-09 12:32:17 -08:00
SkyZeroZx 6f5c233f1d refactor(common): extract argument assertion
Deduplicates string argument validation logic across pipes
by introducing a local assertion helper

(cherry picked from commit 66e8385b6a)
2026-02-09 12:26:10 -08:00
Kristiyan Kostadinov caab23dfe6 fix(compiler): add geolocation element to schema
A new `geolocation` tag was recently added to Chrome. These changes update the schema to account for it.

See https://developer.chrome.com/blog/geolocation-html-element

(cherry picked from commit 11834a4274)
2026-02-09 12:25:41 -08:00
Alan Agius 17cc82872a ci: add myself to pull approve dev-infra reviewers
Add myself to the dev-infra reviewers.

(cherry picked from commit d019ee3c0b)
2026-02-09 12:22:22 -08:00
Angular Robot 6855296a36 build: update pnpm to v10.29.1
See associated pull request for more information.
2026-02-09 12:21:48 -08:00
SkyZeroZx c3600b3d99 docs(docs-infra): fix heading ID generation and display
Ensures that custom heading IDs are properly handled

(cherry picked from commit dd15efb7c3)
2026-02-09 12:20:18 -08:00
SkyZeroZx 1f82b6aea7 docs: add missing error codes to the error overview list
(cherry picked from commit fd293d3397)
2026-02-09 12:19:44 -08:00
SkyZeroZx 29f70072a8 docs(docs-infra): simplify external link rendering for pill
Renders the external link icon for docs pills using CSS instead of a `docs-icon` component.

(cherry picked from commit 0b9d1cfb7b)
2026-02-09 12:19:12 -08:00
Miles Malerba fe7f25403b build: configure gemini cli to look for AGENTS.md
By default gemini cli looks for GEMINI.md, these settings change it to
consider AGENTS.md as well

(cherry picked from commit 85d6a2bc6e)
2026-02-09 12:15:22 -08:00
Miles Malerba 0f8dddc7f0 docs: add gemini custom command for generating skills
Adds a Gemini CLI custom command (`/explain`) to generate skills for
working with code packages in this repo. Usage:

1. Add skill for a new package:
  `/explain packages/common`
2. Update the skill for a package:
  `/explain Update the skill for packages/core`
3. Add supplemental information:
  `/explain Add supplemental info to the signal forms skill about how
   schema logic is implemented`

Also adds a few skills for working with some of the packages I commonly
interact with, including:

- packages/forms/signals
- packages/core
- packages/compiler-cli

(cherry picked from commit 7ddd10bb44)
2026-02-09 12:14:19 -08:00
Andrew Kushnir e3729c6327 Revert "refactor(service-worker): remove zone-based testing utilities"
This reverts commit 12b770dd3e.
2026-02-09 10:46:38 -08:00
Matthieu Riegler c298694a79 refactor(benchpress): remove zone-based testing utilities
Transition to zoneless.

(cherry picked from commit 4b3b149ba1)
2026-02-09 07:55:17 -08:00
Matthieu Riegler 12b770dd3e refactor(service-worker): remove zone-based testing utilities
Transition to zoneless.

(cherry picked from commit ec26d38778)
2026-02-09 07:55:17 -08:00
Matthieu Riegler 3f0fbaa0bc refactor(compiler): remove zone-based testing utilities
Having zone.js here already wasn't necessary.

(cherry picked from commit a1441a432d)
2026-02-09 07:55:16 -08:00
Shuaib Hasan Akib 4311ba7290 refactor(common): remove unused imports and standalone: false from examples
Cleans up example code by removing explicit `standalone: false`, since
standalone components are the default and recommended approach.

(cherry picked from commit 14f16226aa)
2026-02-09 07:53:37 -08:00
aparziale 054972c8e0 docs: Signal forms custom validator with 'fieldTree' field in validation result error
Update docs for fieldTree property

fixes #66687

(cherry picked from commit 63d828aa33)
2026-02-06 15:11:03 -08:00
Kristiyan Kostadinov c633697262 Revert "fix(compiler-cli): update diagnostic to flag no-op arrow functions in listeners"
This reverts commit a78a7f651a.
2026-02-06 11:13:02 -08:00
Kristiyan Kostadinov 8743c9daac docs: remove non-existant method
Removes the reference to the `focusFirstItem` method since it doesn't exist.

Fixes https://github.com/angular/components/issues/32741.

(cherry picked from commit 460dbbb8e9)
2026-02-06 10:20:35 -08:00
SkyZeroZx 0d1acd0165 feat(forms): support signal-based schemas in validateStandardSchema
Allow `validateStandardSchema()` to consume a computed schema so
validation rules stay in sync when the schema changes over time.

This supports schemas stored in computed signals (e.g. zod schemas that
depend on input signals) and ensures the effective schema updates after
initialization instead of being captured once.

Fixes #66867

(cherry picked from commit 24c0c5a180)
2026-02-06 07:40:51 -08:00
Kristiyan Kostadinov a78a7f651a fix(compiler-cli): update diagnostic to flag no-op arrow functions in listeners
Based on the discussion in #66294: now that we support arrow functions in event listeners, developers may write out something like `(click)="() => expr"` which will be a no-op. These changes update the existing diagnostic for uninvoked expressions in listeners to account for it.

(cherry picked from commit 2ea6dfc6c9)
2026-02-06 07:39:22 -08:00
Charles Lyding f279f414ca refactor(language-service): use type-only TypeScript imports in some files
Standardize on `import type ts from 'typescript'` across several files
in the language-service package.

This ensures that these files do not have a runtime dependency on a
specific version of the TypeScript module, instead relying on the
instance provided by the host during initialization.

Note: This change is not comprehensive. Several files still require
runtime access to the TypeScript module and will require further
refactoring to fully decouple the dependency.

(cherry picked from commit 108252bf67)
2026-02-06 07:38:53 -08:00
aparziale 653c7b96e8 docs: Images not show
Fixed path in optimization image tutorial

(cherry picked from commit 6550b9d776)
2026-02-06 07:38:07 -08:00
Angular Robot 83c6142379 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-06 07:36:03 -08:00
Matthieu Riegler de3cc5e8ec docs: callout for optional fields and native controls.
(cherry picked from commit fd5ff5c1a9)
2026-02-06 07:35:18 -08:00
Shuaib Hasan Akib 50c0110fc4 docs: fix wrong line highlight in component queries example
(cherry picked from commit e79e7994d4)
2026-02-06 07:34:01 -08:00
Shuaib Hasan Akib 8b4c213cd3 docs: use self-closing tag
Aligns template syntax with modern Angular recommendations and improves readability.

(cherry picked from commit 12afc1d164)
2026-02-06 07:33:22 -08:00
Angular Robot be4ffb68eb build: update rules_browsers digest to e08ae33
See associated pull request for more information.
2026-02-05 17:16:33 -08:00
SkyZeroZx 0729181d34 test(compiler): remove zone-based testing utilities
Removes usages of zone-based helpers such as
`waitForAsync` as part of the migration to zoneless tests.

Completes the transition to zoneless.

(cherry picked from commit 2a0241a665)
2026-02-05 16:56:59 -08:00
SkyZeroZx 91885623cd docs: remove Component suffix in reference and tools
(cherry picked from commit 6883889123)
2026-02-05 16:55:30 -08:00
Angular Robot 52745a23e5 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-05 16:53:25 -08:00
Angular Robot bc6302cd4a build: update all github actions
See associated pull request for more information.
2026-02-05 16:52:54 -08:00
Alan Agius 13ffadb063 build: remove dagre-d3-es pnpm patch from MODULE.bazel
This file no longer exist

(cherry picked from commit 85dd096c11)
2026-02-05 16:50:21 -08:00
Matthieu Riegler c0cbdcc41b ci: exclude standard_schema from sync.
This file isn't sync into G3 and this should prevent the CI from requiring a presubmit when the file is modified.

(cherry picked from commit 3e2ed305d1)
2026-02-05 16:49:47 -08:00
Shuaib Hasan Akib 2d5ed88f54 docs: improve type safety in custom validator documentation
Replace `field: any` with proper SchemaPath typing in Signal Forms custom
validation examples to match built-in validator patterns.

fixes: #66887

Update adev/src/content/guide/forms/signals/validation.md

Co-authored-by: Matthieu Riegler <kyro38@gmail.com>
(cherry picked from commit ff2c0053c8)
2026-02-05 16:49:12 -08:00
Leon Senft 70668befde release: cut the v21.1.3 release v21.1.3 2026-02-04 16:06:24 -08:00
Matthieu Riegler 767c6b4754 fix(vscode-extension): support highlighting for class bindings with brackets
Tailwind classes can often be quite complex strings. This change adds supports for classes with backets.

fixes #66818

(cherry picked from commit 01ed57f297)
2026-02-04 15:45:08 -08:00
SkyZeroZx 1bf6bfc07f test(forms): remove zone-based testing utilities
Removes usages of zone-based helpers such as `fakeAsync` , `tick`
`waitForAsync` as part of the migration to zoneless tests.

Completes the transition to zoneless.

(cherry picked from commit 7dfbacbcf8)
2026-02-04 15:38:13 -08:00