Commit graph

36863 commits

Author SHA1 Message Date
SkyZeroZx
d8790972be feat(common): Add custom transformations for Cloudflare and Cloudinary image loaders
Adds support for custom transformations to Cloudinary and Cloudflare image loaders via a `transform` parameter.

Fixes #65191 #64639
2026-01-02 08:07:29 +01:00
Doug Parker
5a146b3256 release: bump Angular DevTools version to 1.6.4 2025-12-18 13:06:36 -08:00
Angular Robot
e5a7eb37cf build: update cross-repo angular dependencies to v21.1.0-next.3
See associated pull request for more information.
2025-12-17 16:55:58 -08:00
Andrew Scott
99ad18a4ee feat(core): Add stability debugging utility
This commit adds a utility method to debug why the application has not stabilized after
a set period of time (9 seconds, or `hydrationTimeout-1`).

fixes #52912
2025-12-17 15:43:05 -08:00
Miles Malerba
244b54c9bf refactor(forms): rename server errors to submission errors
This better reflects the intent to indicate an error during submission,
regardless of whether the error came from the server or not.
2025-12-17 15:42:07 -08:00
Angular Robot
3a32556a78 docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2025-12-17 15:41:23 -08:00
Andrew Seguin
e2a9938c51 fix(core): explicitly cast signal node value to String
If the computed's `toString` is called and `node.value` is a Symbol, the browser will throw an exception `ERROR TypeError: Cannot convert a Symbol value to a string`

Symbols cannot be implicitly changed to strings. This change changes the conversion to be explicit by wrapping `node.value` with `String()`

This can be reproduced if you create a computed with `createComputed(computation, equal)` and call `toString()` while `node.value` is something like `Symbol(UNSET)`
2025-12-17 14:38:38 -08:00
Angular Robot
d67d8f78b6 build: update cross-repo angular dependencies
See associated pull request for more information.
2025-12-17 14:35:14 -08:00
Shuaib Hasan Akib
e9d1c6478a docs(docs-infra): clean up TODO comment, unused imports, and helper function 2025-12-17 14:33:58 -08:00
Shuaib Hasan Akib
ad88c72f24 docs: fix incorrect line highlighting in tutorials
Ensures highlighted lines in tutorial examples match the
corresponding code shown to readers.
2025-12-17 14:26:30 -08:00
Miles Malerba
5b06996fb2 docs: call out breaking changes as experimental
Explicitly calls out that recent breaking changes were only for
experimental features
2025-12-17 14:25:33 -08:00
Andrew Scott
6ad0a4fe53 docs: release notes for the vscode extension 21.0.1 release 2025-12-17 14:24:38 -08:00
Andrew Kushnir
664fa393b7 release: cut the v21.1.0-next.4 release 2025-12-17 13:19:21 -08:00
Andrew Kushnir
fe30b2fd27 docs: release notes for the v21.0.6 release 2025-12-17 13:14:30 -08:00
Alan Agius
868cb7cb45 build: migrate Bazel ignore rules from .bazelignore to REPO.bazel
See: https://bazel.build/rules/lib/globals/repo and 092dd7892b/docs/pnpm.md (L77)
2025-12-17 10:14:00 -08:00
Andrew Scott
ce1a4769f9 fix(language-service): Prevent language service from crashing on suggestion diagnostic errors
This prevents the language service from crashing when a
`FatalDiagnosticError` is thrown when retrieving suggestion diagnostics.

fixes #66069
2025-12-17 10:13:11 -08:00
Angular Robot
2e58b66810 build: update pnpm to v10.26.0
See associated pull request for more information.
2025-12-17 09:56:35 -08:00
Angular Robot
bfec9c019b build: update bazel dependencies
See associated pull request for more information.
2025-12-17 09:55:22 -08:00
Shuaib Hasan Akib
3e57f9eaf5 docs: add documentation for schema validation with Signal Forms
Fixes: #66098
2025-12-17 09:52:46 -08:00
Angular Robot
7335b98600 build: update dependency rollup to v4.53.5
See associated pull request for more information.
2025-12-17 09:50:30 -08:00
Angular Robot
d118320c8b build: update all github actions
See associated pull request for more information.
2025-12-17 09:48:27 -08:00
SkyZeroZx
50d5c2997f docs: align lightweight injection tokens with the style guide 2025-12-17 09:45:14 -08:00
Matthieu Riegler
d23ce76821 docs(docs-infra): leverage the search on 404
This introduces a search result matching the requested url when the page couldn't not be found.
2025-12-17 09:40:42 -08:00
kirjs
6f6b2408fa refactor(forms): convert Signal Forms errors to use RuntimeError
- Added 13 new error codes to forms/src/errors.ts (1900-1999)
- use RuntimeError
2025-12-17 09:39:57 -08:00
SkyZeroZx
9f5744a92d fix(language-service): avoid interpolation highlighting inside @let
This change omits treating `{{ }}` interpolation syntax as valid inside `@let` binding strings, preventing the interpolation curly braces from superseding the match of the surrounding binding expression and ensuring the highlighter reflects the correct semantics of `@let` bindings.

fixes #61643
2025-12-17 09:39:18 -08:00
Alan Agius
f516370c8e fix(core): use mutable ResponseInit type for RESPONSE_INIT token
The `RESPONSE_INIT` token previously used `ResponseInit`. However, `@types/node` (and `undici`) definitions for `ResponseInit` mark properties as `readonly`, which differs from the standard DOM `ResponseInit`.

This commit introduces a `ResponseInit` type that explicitly removes `readonly` modifiers to ensure compatibility and allow for mutable options. This type is now used by the `RESPONSE_INIT` token and is exported from `@angular/core`.
2025-12-17 09:35:22 -08:00
Andrew Kushnir
9fa77af110 Revert "fix(core): explicitly cast signal node value to String"
This reverts commit c501b25d04.
2025-12-16 17:37:34 -08:00
Andrew Seguin
c501b25d04 fix(core): explicitly cast signal node value to String
If the computed's `toString` is called and `node.value` is a Symbol, the browser will throw an exception `ERROR TypeError: Cannot convert a Symbol value to a string`

Symbols cannot be implicitly changed to strings. This change changes the conversion to be explicit by wrapping `node.value` with `String()`

This can be reproduced if you create a computed with `createComputed(computation, equal)` and call `toString()` while `node.value` is something like `Symbol(UNSET)`
2025-12-16 16:38:02 -08:00
SkyZeroZx
62ccd64e9f docs: add section about reactive contexts 2025-12-16 16:35:24 -08:00
Marc Stammerjohann
dc7ae9aef3 docs(router): add missing inject import 2025-12-16 16:34:20 -08:00
Matthieu Riegler
db3614f2d5 build: add commits to the ignore revs files.
PR #66089 & #66107 both landed changes to the formatting
2025-12-16 16:32:49 -08:00
Matthieu Riegler
6270bba056 ci: reformat files
This is after we've slightly changed a rule in #66056
2025-12-16 14:44:19 -08:00
Andrew Scott
06be8034bb fix(core): Microtask scheduling should be used after any application synchronization
Previously, Angular would switch from the macrotask to a microtask
scheduler _only_ when the scheduler was the trigger for the
synchronization. This microtask scheduling is to ensure patterns such as
`Promise.resolve().then(() => updateAppStateAgain())` _during_
synchronization are caught and synchronized again within the same event
loop (guaranteeing that they aren't split across multiple browser paints).

The microtask scheduler should be used after any tick, not just from
those than run within the scheduler to always account for the promises
within synchronization. This is encountered most frequently during
bootstrap, which triggers the tick directly.

In this change we exempt `TestBed.tick` and
`ComponentFixture.detectChanges` from this behavior. Doing so would affect
the timing of stability and tests are quite sensitive to this (e.g.
`fixture.whenStable`). It is somewhat unfortunate that we have "special" test-only
behavior. However, it is important to acknowledge that this only affects
the test-only APIs as well. Any code in the application under test that
triggers `ApplicationRef.tick` directly would still use the microtask
scheduling behavior.

fixes #65444
2025-12-16 13:34:48 -08:00
Miles Malerba
ae0c59028a
refactor(forms): rename field to fieldTree in FieldContext and ValidationError
BREAKING CHANGE:
2025-12-16 10:26:22 -08:00
SkyZeroZx
2ccdf50fba refactor(platform-browser): remove unused platformIsServer flag from renderer
The` platformIsServer` flag is no longer referenced by the renderer and is effectively unused.
Removing it simplifies the implementation and avoids carrying redundant state.
2025-12-16 10:25:10 -08:00
SkyZeroZx
bf2e50843d refactor(core): conditionally include debug names based on ngDevMode
Conditionally include debug-related metadata based on `ngDevMode` to avoid
unnecessary information in production builds.
2025-12-16 09:37:38 -08:00
Angular Robot
db5429fbb2 build: lock file maintenance
See associated pull request for more information.
2025-12-16 09:36:22 -08:00
Angular Robot
2afae2719a build: update cross-repo angular dependencies
See associated pull request for more information.
2025-12-16 09:33:34 -08:00
Ben Hong
3750622c46 docs: update links to guides in signal forms overview 2025-12-16 09:29:11 -08:00
SkyZeroZx
53c447e3c8 docs: update lightweight injection tokens guide to use contentChild, contentChildren, and inject APIs. 2025-12-16 09:28:23 -08:00
Matthieu Riegler
af77b89e2a ci: reformat files
This is after we've slightly changed a rule in #66056
2025-12-16 09:24:36 -08:00
Shuaib Hasan Akib
3ff20a58d3 refactor(docs-infra): remove deprecated h.JSX.HTMLAttributes usage
Import HTMLAttributes directly from preact to address deprecation warning in header-api.tsx
2025-12-15 17:44:24 -08:00
Matthieu Riegler
b4f584cf42 fix(core): return StaticProvider for providePlatformInitializer
Returning `EnvironmentProviders` was never correct.
fixes #64277
2025-12-15 15:16:37 -08:00
Angular Robot
11e271ca6a build: update cross-repo angular dependencies
See associated pull request for more information.
2025-12-15 14:19:07 -08:00
Alan Agius
d4111eebc6
refactor(compiler): remove unnecessary sanitization for safe attributes
Remove sanitization for attributes that cannot execute code (e.g. `javascript: URIs`).
2025-12-15 14:13:38 -08:00
Kirill Cherkashin
193aa332fc
docs(forms): improve JSDoc for Signal Forms Schema types
Improved documentation for Schema, SchemaFn, and SchemaOrSchemaFn types
with clearer descriptions and usage examples.
2025-12-15 14:02:35 -08:00
Angular Robot
356092a24d docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
2025-12-15 13:27:23 -08:00
Matthieu Riegler
44d4439bc4 refactor(forms): add signal forms to the type tests
This will ensure that signal forms emit valid typings.
Also this commits moves `@standard-schema/spec` from peer-dep to regular dep
2025-12-15 11:44:54 -08:00
kirjs
3a01d72850 refactor(forms): convert Signal Forms errors to use RuntimeError
- Added 13 new error codes to forms/src/errors.ts (1900-1999)
- use RuntimeError
2025-12-15 11:44:02 -08:00
Angular Robot
915eee3abd build: update all github actions to v6
See associated pull request for more information.
2025-12-15 11:43:06 -08:00