Commit graph

1160 commits

Author SHA1 Message Date
Angular Robot
1d621ead2f build: update pnpm to v10.33.4
Some checks are pending
CI (push) / test (push) Waiting to run
DevInfra / assistant_to_the_branch_manager (push) Waiting to run
CI (push) / lint (push) Waiting to run
CI (push) / devtools (push) Waiting to run
CI (push) / integration-tests (push) Waiting to run
CI (push) / adev (push) Waiting to run
CI (push) / vscode-ng-language-service (push) Waiting to run
CI (push) / publish-snapshots (push) Waiting to run
CI (push) / zone-js (push) Waiting to run
CI (push) / adev-deploy (push) Blocked by required conditions
Update ADEV Cross Repo Docs / Update Cross Repo ADEV Docs (push) Waiting to run
See associated pull request for more information.
2026-05-08 10:05:58 -06:00
Alan Agius
a451a1d66e fix(platform-server): add allowedHosts option to renderModule and renderApplication
In server-side rendering (SSR) setups, passing request URLs directly to the lower-level rendering APIs `renderModule` or `renderApplication` can expose applications to Server-Side Request Forgery (SSRF) or Host Header Injection attacks via absolute-form request URLs.
To mitigate these vulnerabilities at the framework layer, this commit introduces the `allowedHosts` option to `PlatformConfig` (supporting exact hostnames, wildcards like `*.example.com`, or `*` to allow all).

During platform initialization inside `createServerPlatform`, the hostname of the request `url` is validated against the `allowedHosts` list. If the hostname is not authorized, bootstrap immediately throws a host validation error, preventing unauthorized rendering and silent SSRF bypasses.

Closes #68436

(cherry picked from commit 60552a73e8)
2026-05-07 15:30:08 -07:00
Angular Robot
fc526331e3 build: lock file maintenance
See associated pull request for more information.
2026-05-05 09:35:19 -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
Angular Robot
9c7cbcd263 build: update all non-major dependencies
See associated pull request for more information.
2026-05-01 15:57:16 -07:00
SkyZeroZx
11721509b0 refactor(core): Makes @defer(hydrate ...) runtime tree-shakable
This commit updates `@defer` logic related to incremental hydration to be tree-shakable.

If hydrate triggers are used in a `@defer` block, the compiler emits a single top-level call to `ɵɵenableIncrementalHydrationRuntime`, placed once per create block before the first `ɵɵdefer` that requires it.

As a result, the incremental hydration runtime is only included in the bundle when hydrate is explicitly used.
2026-05-01 15:54:55 -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
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
32d768f69c build: lock file maintenance
See associated pull request for more information.
2026-04-28 10:25:45 -07:00
Angular Robot
f9c1f979d9 build: update pnpm to v10.33.2
See associated pull request for more information.
2026-04-24 10:10: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
09b9a62a25 build: lock file maintenance
See associated pull request for more information.
2026-04-21 11:52:07 -07:00
Matthieu Riegler
13be2961f6 ci: remove disabled side-effects integration tests
This test was disabled 5+ years ago, we probably don't need it anymore.
2026-04-20 13:13:22 -07:00
Angular Robot
a0d45639a9 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-04-17 15:14:59 -07:00
Angular Robot
56ff89c92d build: update all non-major dependencies
See associated pull request for more information.
2026-04-17 14:26:35 -07:00
Angular Robot
8b4581d1bb build: lock file maintenance
See associated pull request for more information.
2026-04-15 10:49:13 -04:00
Doug Parker
cf47eb41ff test: use strict mode for ng_elements integration test
Apparently the Rollup bundle for these tests defaults to `es` format, meaning it expects to be loaded at runtime as native ESM. This was not happening because it was loaded as a regular `<script src="...">` tag (note the lack of `type="module"`).

This is problematic because Rollup assumed it would be running in a scoped environment, meaning [this function](adb8d1078d/packages/core/primitives/event-dispatch/src/event.ts (L45)), which happens to be named `addEventListener` but does *not* implement the `EventTarget.prototype.addEventListener` contract, was being bundled as a simple:

```javascript
function addEventListener(element, ...) {
  // ...
}
```

Since this was loaded with no `type="module"` or `'use strict';`, the script executed in "sloppy mode", meaning all `var` statements and function definitions are implicitly global. Since `window` *is* the `globalThis` object, this random `addEventListener` function clobbers the actual `window.addEventListener` and breaks any calls to it because they're not implementing the same contract.

Fix is to just use `<script src="..." type="module">`. Alternatively we could bundle in an IIFE, which Rollup does support, but in theory we could depend on external ES modules which aren't bundled, so the `type="module"` seems a little safer and more future-proof.
2026-04-13 14:12:48 +03:00
Doug Parker
cdda51a3b2 feat(core): support bootstrapping Angular applications underneath shadow roots
This is a minimal implmentation which just focuses on registering parent shadow roots in `SharedStylesHost` correctly.

We don't currently reference count usage of host values, meaning that as soon as we call `removeHost`, all styles are removed from it, even if other components relied on them. Therefore there is no good way to know whether styles are still needed or not, leaving us with the choice of either leaking them longer than necessary or destroying them while another component still needs them. The compromise I'm using here is to delete styles when destroying a component under a shadow root (based on the assumption that only one component will exist per shadow root) and to leave styles when destroying a component in the main document (based on the assumption that dialogs being destroyed should not impact the main application).

Neither assumption is totally safe to make, but we're hoping this is a viable balance for the moment. In the future we should look into lifting these restrictions to better support those use cases while properly reference counting usage of hosts in `SharedStylesHost`.

I also added some small tests to confirm that SSR styles are not duplicated, as an earlier implementation accidentally duplicated them. This should ensure we don't repeat that mistake.
2026-04-10 21:44:08 +03:00
Jessica Janiuk
68628dd45b feat(platform-browser): make incremental hydration default behavior
This commit updates provideClientHydration to automatically enable incremental hydration by default. It also introduces a new withNoIncrementalHydration feature for opting out, adds conflict safety checks, and includes a schematic migration.
2026-04-09 18:53:13 +03:00
Angular Robot
8633f15613 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-04-09 14:13:51 +03:00
Angular Robot
c7518a4ed6 build: update cross-repo angular dependencies
See associated pull request for more information.

Closes #67980 as a pr takeover
2026-04-08 11:04:49 -07:00
Matthieu Riegler
a0aa8304cd feat(core): bootstrap via ApplicationRef with config
This is to align the shape of the method with `createComponent`

BREAKING CHANGE:The second arguement of appRef.bootstrap does not accept `any` anymore. Make sure the element you pass is not nullable.

fixes #67946
2026-04-07 12:48:53 -07:00
Angular Robot
2ff9db30e0 build: lock file maintenance
See associated pull request for more information.
2026-04-07 10:48:02 -07:00
Matthieu Riegler
f3c471e0d5 refactor(compiler): remove fullTemplateTypeCheck compiler option.
The option was deprecated back in v13. Users should use `strictTemplates: true`.
2026-04-06 11:55:09 -07:00
Kristiyan Kostadinov
8fe025f514 feat(core): drop support for TypeScript 5.9
Drops support for TypeScript 5.9.

BREAKING CHANGE:
* TypeScript versions older than 6.0 are no longer supported.
2026-04-03 09:44:11 -07:00
Angular Robot
11f047f195 build: update all non-major dependencies
See associated pull request for more information.
2026-04-02 11:45:22 -07:00
Angular Robot
436c5df488 build: update cross-repo angular dependencies to v22.0.0-next.4
See associated pull request for more information.
2026-04-01 18:31:00 +02:00
Angular Robot
277f9adb74 build: lock file maintenance
See associated pull request for more information.
2026-03-31 13:41:22 +02:00
Angular Robot
c9502999cf build: update pnpm to v10.33.0
See associated pull request for more information.
2026-03-30 12:45:23 +02:00
Angular Robot
60930f847e build: update all non-major dependencies
See associated pull request for more information.
2026-03-30 11:15:50 +02:00
Angular Robot
34e1d49b75 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-03-27 14:01:21 +01:00
Angular Robot
0007723a03 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-03-25 13:32:59 -07:00
Kristiyan Kostadinov
9ee4f83705 build: update to TypeScript 6 stable
Updates the repo to the stable version of TypeScript 6.
2026-03-25 12:57:49 -07:00
Matthieu Riegler
eae8f7e30b feat(core): Set default Component changeDetection strategy to OnPush
The default change detection strategy is now OnPush.

BREAKING CHANGE: Component with undefined `changeDetection` property are now `OnPush` by default. Specify `changeDetection: ChangeDetectionStrategy.Eager` to keep the previous behavior.
2026-03-24 16:25:02 -07:00
Angular Robot
1533242577 build: lock file maintenance
See associated pull request for more information.
2026-03-24 15:08:28 -07:00
Angular Robot
275a436a33 build: lock file maintenance
See associated pull request for more information.
2026-03-20 15:11:24 -07:00
Angular Robot
f7f6f8d8fc build: update all non-major dependencies
See associated pull request for more information.
2026-03-19 16:05:08 -07:00
Jessica Janiuk
dfa149dc68 fix(core): fixes a regression with animate.leave and reordering
This fixes a regression bug that resulted in reordered elements not getting properly removed from the DOM. Reused nodes were not being cleared out in this situation.

fixes: #67728
2026-03-19 15:51:57 -07:00
Angular Robot
c9e6263e0e build: update cross-repo angular dependencies
See associated pull request for more information.
2026-03-19 15:04:54 -07:00
Angular Robot
ada150c693 build: update cross-repo angular dependencies
See associated pull request for more information.
2026-03-13 16:26:41 -06:00
Angular Robot
ed54855f5c build: update pnpm to v10.32.1
See associated pull request for more information.
2026-03-13 13:09:26 -06:00
Jessica Janiuk
df659b8d0c feat(core): re-introduce nested leave animations scoped to component boundaries
This commit re-introduces support for nested leave animations with a critical adjustment to prevent cross-component blocking. Wait for nested inner `animate.leave` transitions natively only when they exist within the same component's view or its embedded tracking structures (like `@if` and `@for`).

This resolves the issue where route navigations and parental destruction would excessively stall by traversing down into child component architectures to wait for their distinct leaf animations.

BREAKING CHANGE: Leave animations are no longer limited to the element being removed.

Fixes #67633
2026-03-13 13:01:55 -06:00
Angular Robot
81d0807242 build: update all non-major dependencies
See associated pull request for more information.
2026-03-12 16:08:35 -06:00
Angular Robot
4c532bdfb4 build: lock file maintenance
See associated pull request for more information.
2026-03-11 10:08:58 -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
02a617e89e build: update dependency @rollup/plugin-babel to v7
See associated pull request for more information.
2026-03-10 13:09:06 -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
Angular Robot
e121e25567 build: update pnpm to v10.31.0
See associated pull request for more information.
2026-03-09 11:18:08 -07:00
Kristiyan Kostadinov
1ad2318775 build: update to the TypeScript 6 RC
Updates the repo to the TypeScript 6 release candidate.
2026-03-09 10:25:21 -07:00