Commit Graph

2634 Commits

Author SHA1 Message Date
Alan Agius b8d3f36ed9 feat(compiler-cli): add support for Node.js 26.0.0
Updates the supported Node.js engine versions to include Node.js 26.

This allows running the CLI on Node.js 26.0.0 and above while continuing to support active LTS versions.
2026-05-06 09:55:38 -07:00
Jaime Burgos f81fa6e691 docs: add documentation for lazy loading services and update navigation 2026-05-05 15:57:36 -07:00
Kam 8a7f955f0f docs: correct "Angular JS" to "AngularJS"
"AngularJS" is the official product name for the v1.x line and is
written as a single word. A few places in the docs and package
READMEs used "Angular JS" with a space. This normalizes those
references to the canonical spelling.
2026-05-05 12:42:39 -07:00
Leon Senft 708631f2c4 fix(forms): prohibit concurrent submits in signal forms
Prohibit concurrent submits in signal forms to prevent duplicate actions and side effects when a submission is already in progress.

If `submit()` is called while a prior submit is in progress for the same field or any of its parents, it returns `false` immediately without running the action again.

This commit also updates the documentation in `form-submission.md` to reflect this behavior.

Fixes #68317
2026-05-05 11:14:03 -07:00
Kam 1da396fd84 fix(docs-infra): mask page content leak at mobile nav right edge
On phones, the page content behind the primary-nav drawer leaks 1-2px past its right edge. Mask it with a 2px var(--page-background) box-shadow.
2026-05-05 09:31:53 -07:00
Kam 441a00d665 fix(docs-infra): keep mobile nav drawers usable on small screens
On phones, opening the primary-nav drawer left the page behind it scrollable, and the secondary drawer's mask had no explicit height so long submenus got clipped above the page content. Lock the page with overflow: clip on :host:has(.adev-nav-primary--open) for phone-only (preserves the primary nav's sticky context), give the secondary mask height: 100dvh on tablet-landscape-down so it fills the visible viewport, and align the nav-list :host height to 100dvh too so its inner scroll matches.
2026-05-05 09:31:26 -07:00
Angular Robot 4f048e7de3 build: update dependency typescript to v6.0.3
See associated pull request for more information.
2026-05-04 13:05:58 -07:00
Andrew Scott c84642ac16 feat(router): add unmatchedInputBehavior option to componentInputBinding
Introduce a new configuration option `unmatchedInputBehavior` to the `componentInputBinding` feature. This option allows users to configure the behavior when a component input is not matched by any key in the router data.

The available values are:
- 'alwaysUndefined': (Default) Always binds undefined to unmatched inputs.
- 'undefinedIfStale': Binds undefined only if the input was previously available in the router data for the active route in the outlet.

This feature addresses concerns raised in #63835 and #52946 regarding the retention of default values for inputs that were never targeted by the router, while still ensuring that stale data is cleared when a parameter is removed.
2026-05-01 16:04:52 -07:00
Nikolaos G. Ntaiko 429c665901 Fix typo in computed signals section 2026-05-01 16:00:48 -07:00
Kam c2f7403774 fix(docs-infra): exempt form validator names from API auto-linking
Add required, pattern, min, max, minLength and maxLength to LINK_EXEMPT
so FieldState property names stop auto-linking to the validator
functions of the same name.
2026-05-01 15:58:43 -07:00
Angular Robot 9c7cbcd263 build: update all non-major dependencies
See associated pull request for more information.
2026-05-01 15:57:16 -07:00
Angular Robot 7ef1881d12 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-05-01 15:56:08 -07:00
SkyZeroZx c5c35d992c docs: update @Service remove preview warning 2026-04-30 16:12:23 -07:00
Matthieu Riegler 8f94892a71 docs: add section about variable scopes
This is mostly a copy of the section we had on aio.
2026-04-30 16:10:28 -07:00
Angular Robot 9dc4e44eea build: update cross-repo angular dependencies
See associated pull request for more information.
2026-04-30 15:52:21 -07:00
Kam 13c0422029 docs(docs-infra): open update guide external links in new tabs
External links in the update guide opened inconsistently. Override
marked's link renderer to add `target="_blank" rel="noopener noreferrer"`
to external anchors and apply the `external-link-with-icon` mixin for
the icon. Convert raw HTML and bare URLs in recommendations.ts to
markdown so they all flow through the renderer.
2026-04-29 13:59:42 -07:00
Kam 2101b13653 docs: document allowedHosts SSR requirement in v21 update guide
The GHSA-x288-3778-4hhx patch requires `allowedHosts` on
`CommonEngine` or SSR silently falls back to CSR. Add a checklist
item to the v21 update guide.
2026-04-29 13:59:12 -07:00
Angular Robot 82890dd9f5 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-04-29 13:58:03 -07:00
Bhuvansh855 9f7d41f296 docs: improve clarity in dependency injection guide 2026-04-29 13:38:17 -07:00
Ben Hong 18826de489 docs: add debouncing section to signal forms async operations
Co-authored-by: Matthieu Riegler <kyro38@gmail.com>

Co-authored-by: Matthieu Riegler <kyro38@gmail.com>

Co-authored-by: Matthieu Riegler <kyro38@gmail.com>
2026-04-29 13:35:18 -07:00
Angular Robot 37ba0a79a6 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-04-29 13:34:08 -07:00
Angular Robot f5b139f5b8 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-04-28 12:33:28 -07:00
Denis Balan 5dfe37df8e docs: Fix links to Firebase AI Logic Angular example 2026-04-28 12:10:48 -07:00
Suraj Yadav f2c6445681 docs(forms): add NG01902 error reference and link to docs
Add the NG01902 (Orphan field in signal forms) documentation page
to the Error Encyclopedia and change the ORPHAN_FIELD_PROPERTY
error code to -1902 so Angular's RuntimeError automatically appends
a link to angular.dev/errors/NG01902 in the thrown error message.
2026-04-28 12:07:46 -07:00
Kam a6eb55642c docs: use contentChildren() in component harness example
The example already uses the signal-based input() but still declares
items with the @ContentChildren decorator. Convert to the signal-based
contentChildren() query for consistency.
2026-04-28 12:03:09 -07:00
Matthieu Riegler 444b024d49 feat(core): Add a injectAsync helper function
The commit introduces a new function to assist users who want to lazy load services and use the DI system to create them.

Example:

```ts
import {injectAsync} from 'angular/core';

class MyCmp {
  someSvc = injectAsync(() => import('..'));

  async onClick() {
    (await this.someSvc()).handleClick();
  }
}
 ```
2026-04-28 12:01:27 -07:00
hawkgs 6abdef4f4f docs: add information about zone.js Vitest patch in the Vitest migration guide
Update the Karma to Vitest migration guide to include information about the zone.js Vitest patch that should handle `fakeAsync`.

Related to #68395.
2026-04-28 10:32:49 -07:00
Kam 273ff07469 docs: use inject() in @Self example in hierarchical DI guide
The surrounding @SkipSelf and @Host examples already use inject(),
and the section intro recommends it. Align the @Self example to match.
2026-04-28 10:30:57 -07:00
Alan Agius 1bfdae91aa docs: document NG_TRUST_PROXY_HEADERS environment variable for AngularNodeAppEngine
See: https://github.com/angular/angular-cli/pull/33056 for more info.
2026-04-28 10:11:12 -07:00
Simon c8aad6acc6 docs: remove duplicated text 2026-04-27 17:10:19 -07:00
Simon 38c352766a docs: remove spaces to correct the indentation 2026-04-27 17:09:45 -07:00
Kam 67a5f00cd8 docs: document moduleResolution bundler change in v20 update guide
The v20 update guide doesn't flag that `ng update` switches
`moduleResolution` to `'bundler'`. Add a checklist item so manual
upgrades don't miss it.
2026-04-27 17:06:35 -07:00
Matthieu Riegler 4ad3a1fe37 refactor(core): Don't throw when there are not async metadata
In the context of AOT tests, component with defer blocks no longer throw on instanciation if the component is not overridden (with `overrideComponent`)

Prior to this change, all components with a `@defer` block would throw if `compileComponents` was not invoked.

In none-JIT apps, this change makes `compileComponents()` uneccesary.
2026-04-27 17:04:09 -07:00
SkyZeroZx d2c7b4e111 docs(docs-infra): Validate case-sensitive API symbol links in @link
Adds build-time validation for case-sensitive API symbols in `@link`. Avoid broken links
2026-04-27 17:01:40 -07:00
Angular Robot 08930e60bb docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-04-24 15:58:24 -07:00
Angular Robot ac9babec96 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-04-24 13:31:56 -07:00
Kam 29081f7765 docs(docs-infra): improve Playground card on installation page
Updates the Playground card copy and adds a `titleInline` attribute on
<docs-card> so the icon and title sit on the same row. Existing cards
are unaffected.
2026-04-24 10:34:38 -07:00
SkyZeroZx adbd1ab3f0 docs: update service documentation to include @Service decorator details 2026-04-24 10:12:31 -07:00
Alan Agius 0399115a82 docs: document trustProxyHeaders and update X-Forwarded-Prefix validation
Update the security guide to explain how to configure `trustProxyHeaders` when initializing the application engine. Also, update the validation rules for `X-Forwarded-Prefix` to reflect that it must start with `/` and contain only alphanumeric characters, hyphens, and underscores.
2026-04-24 10:03:56 -07:00
Angular Robot 65c205dc34 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-04-23 15:11:57 -07:00
Angular Robot 218e2d0240 build: update cross-repo angular dependencies to v22.0.0-next.6
See associated pull request for more information.
2026-04-23 14:13:04 -07:00
Angular Robot 5b4453b312 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-04-23 12:40:33 -07:00
Kam 6120d3196a docs: link Angular CLI in installation prerequisites
Links the "Angular CLI" mention in the Terminal prerequisite to the CLI
overview page.
2026-04-23 11:39:38 -07:00
Matthieu Riegler 74143523d5 docs(docs-infra): Use @Service instead of @Injectable
Dogfooding is always a good idea.
2026-04-23 11:21:40 -07:00
SkyZeroZx 562d920342 docs: update Defer Trigger Misconfiguration with new examples 2026-04-23 11:18:01 -07:00
Angular Robot 271dd4d933 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2026-04-22 11:04:19 -07:00
Joel Kesler b24b4cb699 fix(docs): link formatting in "Animating your Application with CSS"
One of the links in `Animating your Application with CSS` page has a formatting bug for one of it's links.
2026-04-21 10:20:05 -07:00
Bhuvansh855 8ca07f171a docs: improve wording and consistency in http documentation 2026-04-21 10:17:26 -07:00
Nikhil Bachani ac92a8aae8 docs: fix tracking expression reference in NG0955.md
Corrected the tracking expression reference from 'item.key' to 'item.value' in the explanation of duplicate keys.
2026-04-21 10:14:47 -07:00
Matthieu Riegler fa6a3d208d docs: update builder docs
We use `@angular/build` today.
2026-04-21 09:02:31 -07:00