38449 Commits

Author SHA1 Message Date
splincode 66b472e2bc refactor(compiler-cli): improve diagnostic with help link
Add help link to extended template diagnostic messages to provide
users with additional guidance and documentation resources. This
enhancement improves developer experience by making it easier to
understand and resolve complex template issues through direct
access to relevant Angular documentation with detailed examples
and explanations for each diagnostic type.
2026-02-20 09:40:18 -08:00
Andrew Scott 246a984a5d feat(core): add TestBed.getFixture
This adds a new method to the TestBed to retrieve the most recently created component fixture. This is useful for cases where the fixture is created in a beforeEach and needs to be accessed in a test.

If multiple fixtures have been created, this method will throw an error to prevent depending on fixture creation order.
2026-02-20 09:17:54 -08:00
Matthieu Riegler 0d652ba4da refactor(common): log a warning when a JsonPipe receives a signal
The JsonPipe does not unwrap signals and `JSON.stringify` will return `undefined` for signals.
To avoid confusion, we log a warning when a signal is passed to the pipe.
2026-02-20 09:17:01 -08:00
Matthieu Riegler b7cf37d3e1 docs: improve signal demo example 2026-02-20 09:15:31 -08:00
SkyZeroZx f90e5565e0 fix(compiler-cli): detect uninvoked functions in defer trigger expressions
Wrap `@defer` trigger expressions (`when`, `prefetch when`, `hydrate when`)
in a conditional context within the TCB to enable TypeScript's TS2774
diagnostic for detecting functions used without invocation.

Previously, signals and functions passed to `when` triggers without
parentheses would silently evaluate to truthy, causing unexpected behavior.
Now the compiler reports an error when a function is used as a condition
without being called.
2026-02-20 08:57:03 -08:00
Bas ten Feld 57edfaf435 docs(docs-infra): fix typo 'requiredSync' instead of 'requireSync' 2026-02-20 08:53:20 -08:00
Matthieu Riegler fc8140cff4 docs(docs-infra): remove toString from the API docs 2026-02-20 08:51:57 -08:00
Matthieu Riegler cb4cb77053 feat(core): Add migration to add ChangeDetectionStrategy.Eager where applicable
In v22, `OnPush` becomes the default strategy. To maintain the ChangeDetection behavior of exisiting apps, components without an explicit change detectino strategy will get `Eager` assigned.
2026-02-20 08:51:18 -08:00
Jessica Janiuk cfdbb7ce6d ci: bump target version to target 22.0.0-next.0
This updates the package json to prep for the next major.
2026-02-20 08:45:20 -08:00
Angular Robot c672f9211b build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-19 18:11:51 -08:00
kbrilla 39f62fa408 perf(language-service): use lightweight project warmup for Angular analysis
avoid per-file semantic diagnostics work when warming up a newly loaded project.
add ensureProjectAnalyzed() to the language-service API and use it from the server startup path.
implement warmup through public compiler API access with existing perf tracing, and add legacy test coverage for the new warmup flow.
2026-02-19 18:11:02 -08:00
Matthieu Riegler 550b3ba01b refactor(language-service): split tests to reduce risk of timeouts
Because we've had to many timeouts recently
2026-02-19 18:10:31 -08:00
SkyZeroZx 67b22d509a docs: update NgTemplateOutlet documentation with injector 2026-02-19 16:06:24 -08:00
SkyZeroZx f68078b3e3 docs: add section on reactive context and async operations 2026-02-19 15:59:56 -08:00
SkyZeroZx bc473cf60f docs(docs-infra): preserve content before docs-card-container in adev
The tokenizer regex pattern `[^<]*` was consuming all non-`<` content
before custom HTML tags, causing lost content.

Changed to `\s*` which only allows leading whitespace, letting marked
properly tokenize preceding content.
2026-02-19 15:48:45 -08:00
Angular Robot a1501bc90a build: update rules_browsers digest to ceb5275
See associated pull request for more information.

Closes #67138 as a pr takeover
2026-02-19 15:47:47 -08:00
Angular Robot 572945652a build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-19 13:30:45 -08:00
Matthieu Riegler d501506aa6 ci: add zone.js to minimumReleaseAgeExclude
This is a package we control the release of.
2026-02-19 12:41:19 -08:00
Walter Breakell 7d21996b1e docs: fix grammar, syntax, and broken link in elements guide 2026-02-19 12:39:00 -08:00
Joey Perrott e8cc910965 docs: update changelog to note no changes in 21.1.5 release 2026-02-19 11:23:44 -08:00
Angular Robot c9d5695d0e build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-19 11:22:19 -08:00
Matthieu Riegler a5a1829ebc docs: improve lazy loading of homepage examples
The aria tab content are only instantiated when the tab is selected which also delays the prefetching.

By having the defer block around the ng-conten we actually allow angular to prefetch the chuncks without the tab being visible
2026-02-19 09:11:31 -08:00
Doug Parker b6acda1f7e release: bump Angular DevTools version to 1.11.1 2026-02-19 09:11:15 -08:00
Matthieu Riegler 2061fd8253 fix(forms): Untrack setValue in reactive forms
Reasonably, writing to an `AbstractControl` shouldn't register signal reads.

fixes #67073
2026-02-19 09:11:06 -08:00
Leon Senft fb166772d2 fix(forms): split the touched model into an input and touch output
The `touched` property was never meant to support two-way binding; a
control should not be able to dictate that a field is no longer touched.

* The `touched` input represents the touched state of the field.
* The `touch` output allows a control implementation to indicate when
  the bound field is touched.

Note the distinction is that the `touch` output indicates _when_ the
field is touched, and not _whether_ the field is touched.
2026-02-19 09:07:03 -08:00
Georgi Serev a3731a13c9 refactor(devtools): rename directive-explorer component names and folder structure
Rename `property-tab` and `signals-view` to `property-pane` and `signal-graph-pane`, and their respective children, to property indicate their purpose and role; Move `diffing` to `directive-explorer`
2026-02-19 09:00:57 -08:00
SkyZeroZx 1771d54fb7 docs(docs-infra): fixed missing gray color palette definitions for light and dark modes
Adds the missing gray color palette definitions for both light and dark modes
2026-02-19 08:54:57 -08:00
Angular Robot 1d761338b9 build: update cross-repo angular dependencies to v21.2.0-rc.0
See associated pull request for more information.
2026-02-19 08:53:49 -08:00
Angular Robot 9de63a3e35 build: update all github actions
See associated pull request for more information.
2026-02-19 08:51:34 -08:00
Matthieu Riegler 6f922c18d9 fix(devtools): fix messaging bus
The bus wasn't initialized correctly and never recieved the backend installed messages.

fixes #67143
2026-02-19 08:45:32 -08:00
Andrew Scott ac8b5ff938 release: cut the zone.js-0.16.1 release zone.js-0.16.1 2026-02-19 00:26:30 +00:00
Andrew Scott 42c396242f docs: release notes for the vscode extension 21.2.0 release (#67135) 2026-02-18 15:51:09 -08:00
Andrew Scott 2eb6b0da8e build: update vscode version on main to target v22 (#67133)
build: update vscode version on main to target v22
2026-02-18 15:14:31 -08:00
Matthew Beck 2d776f6be4 docs: release notes for the v21.2.0-rc.0 release 2026-02-18 14:40:17 -08:00
Matthew Beck 7199c91d82 release: bump the next branch to v21.3.0-next.0 2026-02-18 14:40:17 -08:00
Matthew Beck cb8e974de0 docs: release notes for the v21.1.5 release 2026-02-18 14:23:57 -08:00
Leon Senft 567f292e8e fix(forms): support custom controls as host directives
Add the missing code to update control properties when control is a host
directive.

Fix #66592.
2026-02-18 14:06:54 -08:00
Leon Senft dcb9af6dfa test(forms): [formField] synchronizes with a host directive
Test that `[formField]` synchronizes its value with a custom form
control implemented as a host directive on a component.
2026-02-18 14:06:54 -08:00
Ben Hong 9a9f4e7f93 docs: update best practice performances nav structure to be more comprehensive 2026-02-18 11:40:19 -08:00
Ben Hong b8811b45d8 docs: add signal forms async operations guide
Co-authored-by: Matthieu Riegler <kyro38@gmail.com>
2026-02-18 11:03:55 -08:00
Doug Parker 47486f8c49 release: bump Angular DevTools version to 1.11.0 2026-02-18 10:47:56 -08:00
Andrew Scott c36385c691 refactor(docs-infra): Add writing guide skill
This adds a writing skill for writing and reviewing adev content
2026-02-18 09:28:21 -08:00
Angular Robot 22a209055c build: update pnpm to v10.30.0
See associated pull request for more information.
2026-02-18 09:07:03 -08:00
Angular Robot eaf72d456a build: update cross-repo angular dependencies
See associated pull request for more information.
2026-02-18 08:50:39 -08:00
SkyZeroZx 5a3cacaaac build: updates Bazel commands in ssr-benchmarks to use pnpm for consistency 2026-02-18 08:49:22 -08:00
Andrew Scott 98610aabaf docs(zone.js): update release and publish commands in DEVELOPER.md 2026-02-18 08:47:53 -08:00
Andrew Scott d99e336a03 docs(zone.js): update build command in DEVELOPER.md 2026-02-18 08:47:53 -08:00
Andrew Scott c2f7eaa833 docs(zone.js): update instructions to use pnpm 2026-02-18 08:47:53 -08:00
kirjs 680e1c05c6 docs: fix custom control metadata example in signal forms guide
It was incorretly assuming FieldState is passeed to formField input
2026-02-18 07:12:43 -08:00
SkyZeroZx fd956f675a refactor(forms): simplify destroy subject handling
Remove unnecessary conditional check when completing the destroy subject, since it is always defined
2026-02-18 07:12:02 -08:00