Deprecated matchesElement method has been removed from AnimationDriver as it is unused.
common
The deprecated isPlatformWorkerUi and isPlatformWorkerApp have been removed without replacement, as they serve no purpose since the removal of the WebWorker platform.
compiler
Angular only supports writable expressions inside of two-way bindings.
compiler-cli
Angular no longer supports TypeScript versions older than 5.4.
core
OnPush views at the root of the application need to
be marked dirty for their host bindings to refresh. Previously, the host
bindings were refreshed for all root views without respecting the
OnPush change detection strategy.
OnPush views at the root of the application need to
be marked dirty for their host bindings to refresh. Previously, the host
bindings were refreshed for all root views without respecting the
OnPush change detection strategy.
The ComponentFixtureautoDetect feature will no
longer refresh the component's host view when the component is OnPush
and not marked dirty. This exposes existing issues in components which
claim to be OnPush but do not correctly call markForCheck when they
need to be refreshed. If this change causes test failures, the easiest
fix is to change the component to ChangeDetectionStrategy.Default.
ComponentFixture.whenStable now matches the
ApplicationRef.isStable observable. Prior to this change, stability
of the fixture did not include everything that was considered in
ApplicationRef. whenStable of the fixture will now include unfinished
router navigations and unfinished HttpClient requests. This will cause
tests that await the whenStable promise to time out when there are
incomplete requests. To fix this, remove the whenStable,
instead wait for another condition, or ensure HttpTestingController
mocks responses for all requests. Try adding HttpTestingController.verify()
before your await fixture.whenStable to identify the open requests.
Also, make sure your tests wait for the stability promise. We found many
examples of tests that did not, meaning the expectations did not execute
within the test body.
In addition, ComponentFixture.isStable would synchronously switch to
true in some scenarios but will now always be asynchronous.
Angular will ensure change detection runs, even when the state update originates from
outside the zone, tests may observe additional rounds of change
detection compared to the previous behavior.
This change will be more likely to impact existing unit tests.
This should usually be seen as more correct and the test should be updated,
but in cases where it is too much effort to debug, the test can revert to the old behavior by adding
provideZoneChangeDetection({schedulingMode: NgZoneSchedulingMode.NgZoneOnly})
to the TestBed providers.
... (truncated)
Commits
33d0102 fix(compiler): allow comments between connected blocks (#55966)
eba92cf fix(compiler): prevent usage of reserved control flow symbol in custom interp...
6906ff0 refactor(core): clean up clang comments and workarounds (#55750)
cd96464 refactor(compiler): move variable optimization earlier in pipeline (#55771)
a040fb7 fix(compiler): maintain multiline CSS selectors during CSS scoping (#55509)
91b007e fix(compiler): add math elements to schema (#55631)
0dcae69 refactor(compiler): add handler attribute to XMB output (#54865)
a5c57c7 fix(core): resolve error for multiple component instances that use fallback c...
8f69c83 refactor: migrate compiler to prettier formatting (#55398)
4eb0165 fix(compiler): remove support for unassignable expressions in two-way binding...
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps @angular/compiler from 17.3.8 to 18.0.0.
Release notes
Sourced from
@angular/compiler
's releases.... (truncated)
Changelog
Sourced from
@angular/compiler
's changelog.... (truncated)
Commits
33d0102
fix(compiler): allow comments between connected blocks (#55966)eba92cf
fix(compiler): prevent usage of reserved control flow symbol in custom interp...6906ff0
refactor(core): clean up clang comments and workarounds (#55750)cd96464
refactor(compiler): move variable optimization earlier in pipeline (#55771)a040fb7
fix(compiler): maintain multiline CSS selectors during CSS scoping (#55509)91b007e
fix(compiler): add math elements to schema (#55631)0dcae69
refactor(compiler): addhandler
attribute to XMB output (#54865)a5c57c7
fix(core): resolve error for multiple component instances that use fallback c...8f69c83
refactor: migrate compiler to prettier formatting (#55398)4eb0165
fix(compiler): remove support for unassignable expressions in two-way binding...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show