symbol feature detection for the compiler (#54711)
18.0.0-next.0 (2024-03-14)
Breaking Changes
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.
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.
When Angular runs change detection, it will continue to
refresh any views attached to ApplicationRef that are still marked for
check after one round completes. In rare cases, this can result in infinite
loops when certain patterns continue to mark views for check using
ChangeDetectorRef.detectChanges. This will be surfaced as a runtime
error with the NG0103 code.
The ComponentFixture.autoDetect feature now executes
change detection for the fixture within ApplicationRef.tick. This more
closely matches the behavior of how a component would refresh in
production. The order of component refresh in tests may be slightly
affected as a result, especially when dealing with additional components
attached to the application, such as dialogs. Tests sensitive to this
type of change (such as screenshot tests) may need to be updated.
Concretely, this change means that the component will refresh before
additional views attached to ApplicationRef (i.e. dialog components).
Prior to this change, the fixture component would refresh after other
views attached to the application.
The exact timing of change detection execution when
using event or run coalescing with NgZone is now the first of either
setTimeout or requestAnimationFrame. Code which relies on this
timing (usually by accident) will need to be adjusted. If a callback
needs to execute after change detection, we recommend afterNextRender
instead of something like setTimeout.
Newly created and views marked for check and reattached
symbol feature detection for the compiler (#54711)
18.0.0-next.0 (2024-03-14)
Breaking Changes
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.
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.
When Angular runs change detection, it will continue to
refresh any views attached to ApplicationRef that are still marked for
check after one round completes. In rare cases, this can result in infinite
loops when certain patterns continue to mark views for check using
ChangeDetectorRef.detectChanges. This will be surfaced as a runtime
error with the NG0103 code.
The ComponentFixture.autoDetect feature now executes
change detection for the fixture within ApplicationRef.tick. This more
closely matches the behavior of how a component would refresh in
production. The order of component refresh in tests may be slightly
affected as a result, especially when dealing with additional components
attached to the application, such as dialogs. Tests sensitive to this
type of change (such as screenshot tests) may need to be updated.
Concretely, this change means that the component will refresh before
additional views attached to ApplicationRef (i.e. dialog components).
Prior to this change, the fixture component would refresh after other
views attached to the application.
The exact timing of change detection execution when
using event or run coalescing with NgZone is now the first of either
setTimeout or requestAnimationFrame. Code which relies on this
timing (usually by accident) will need to be adjusted. If a callback
needs to execute after change detection, we recommend afterNextRender
instead of something like setTimeout.
Newly created and views marked for check and reattached
... (truncated)
Commits
8d37ed0 fix(http): exclude caching for authenticated HTTP requests (#54746)
symbol feature detection for the compiler (#54711)
18.0.0-next.0 (2024-03-14)
Breaking Changes
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.
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.
When Angular runs change detection, it will continue to
refresh any views attached to ApplicationRef that are still marked for
check after one round completes. In rare cases, this can result in infinite
loops when certain patterns continue to mark views for check using
ChangeDetectorRef.detectChanges. This will be surfaced as a runtime
error with the NG0103 code.
The ComponentFixture.autoDetect feature now executes
change detection for the fixture within ApplicationRef.tick. This more
closely matches the behavior of how a component would refresh in
production. The order of component refresh in tests may be slightly
affected as a result, especially when dealing with additional components
attached to the application, such as dialogs. Tests sensitive to this
type of change (such as screenshot tests) may need to be updated.
Concretely, this change means that the component will refresh before
additional views attached to ApplicationRef (i.e. dialog components).
Prior to this change, the fixture component would refresh after other
views attached to the application.
The exact timing of change detection execution when
using event or run coalescing with NgZone is now the first of either
setTimeout or requestAnimationFrame. Code which relies on this
timing (usually by accident) will need to be adjusted. If a callback
needs to execute after change detection, we recommend afterNextRender
instead of something like setTimeout.
Newly created and views marked for check and reattached
... (truncated)
Commits
c078820 fix(compiler): capture data bindings for content projection purposes in block...
f386a04 fix(compiler): handle two-way bindings to signal-based template variables in ...
1f129f1 fix(compiler): not catching for loop empty tracking expressions (#54772)
b40f1e5 refactor(compiler): Remove deep imports in the language service (#54695)
5e32a77 refactor(compiler): cleanup unused code in template builder pipeline (#54654)
1a6beae feat(compiler): Enable template pipeline by default. (#54571)
badda0c fix(compiler-cli): correctly detect deferred dependencies across scoped nodes...
dba3e0b fix(compiler): adding the inert property to the "SCHEMA" array (#53148)
6c2d4b6 refactor(compiler): Enable Template Pipeline globally in 1P. (#54435)
symbol feature detection for the compiler (#54711)
18.0.0-next.0 (2024-03-14)
Breaking Changes
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.
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.
When Angular runs change detection, it will continue to
refresh any views attached to ApplicationRef that are still marked for
check after one round completes. In rare cases, this can result in infinite
loops when certain patterns continue to mark views for check using
ChangeDetectorRef.detectChanges. This will be surfaced as a runtime
error with the NG0103 code.
The ComponentFixture.autoDetect feature now executes
change detection for the fixture within ApplicationRef.tick. This more
closely matches the behavior of how a component would refresh in
production. The order of component refresh in tests may be slightly
affected as a result, especially when dealing with additional components
attached to the application, such as dialogs. Tests sensitive to this
type of change (such as screenshot tests) may need to be updated.
Concretely, this change means that the component will refresh before
additional views attached to ApplicationRef (i.e. dialog components).
Prior to this change, the fixture component would refresh after other
views attached to the application.
The exact timing of change detection execution when
using event or run coalescing with NgZone is now the first of either
setTimeout or requestAnimationFrame. Code which relies on this
timing (usually by accident) will need to be adjusted. If a callback
needs to execute after change detection, we recommend afterNextRender
instead of something like setTimeout.
Newly created and views marked for check and reattached
... (truncated)
Commits
e70228a refactor(core): Add hydration missmatch on the component rather than the node...
1f5ab96 refactor(core): allow passing an environment injector while creating a view (...
c078820 fix(compiler): capture data bindings for content projection purposes in block...
5d41ab9 refactor(core): restructure logic in isCssClassMatching function (#54800)
243ccce fix(core): exclude class attribute intended for projection matching from dire...
cdfcb77 refactor(core): add internal API to enable i18n hydration (#54784)
7df0a8a refactor(core): report subscription errors for OutputEmitterRef to `ErrorHa...
Bumps the client-dependencies group in /src/Client with 25 updates:
17.2.4
17.3.1
17.2.4
17.3.1
17.2.4
17.3.1
17.2.4
17.3.1
17.2.4
17.3.1
17.2.4
17.3.1
17.2.4
17.3.1
17.2.4
17.3.1
17.2.3
17.3.2
17.2.1
17.3.0
17.2.1
17.3.0
17.2.1
17.3.0
17.2.1
17.3.0
17.2.1
17.3.0
17.2.3
17.3.2
17.2.4
17.3.1
17.2.4
17.3.1
4.14.202
4.17.0
7.1.1
7.3.1
7.1.1
7.3.1
5.3.3
5.4.3
18.0.7
18.1.3
18.0.7
18.1.3
18.0.7
18.1.3
18.0.7
18.1.3
Updates
@angular/animations
from 17.2.4 to 17.3.1Release notes
Sourced from
@angular/animations
's releases.... (truncated)
Changelog
Sourced from
@angular/animations
's changelog.... (truncated)
Commits
Updates
@angular/common
from 17.2.4 to 17.3.1Release notes
Sourced from
@angular/common
's releases.... (truncated)
Changelog
Sourced from
@angular/common
's changelog.... (truncated)
Commits
8d37ed0
fix(http): exclude caching for authenticated HTTP requests (#54746)9749589
feat(core): support TypeScript 5.4 (#54414)707bfc9
perf(common):AsyncPipe
should not callmarkForCheck
on subscription (#54...55fd7b3
docs(docs-infra): Add missing api entries (#54517)219445c
fix(common): image placeholder not removed in OnPush component (#54515)74b5a51
fix(http): Use string body to generate transfer cache key. (#54379)Updates
@angular/compiler
from 17.2.4 to 17.3.1Release notes
Sourced from
@angular/compiler
's releases.... (truncated)
Changelog
Sourced from
@angular/compiler
's changelog.... (truncated)
Commits
c078820
fix(compiler): capture data bindings for content projection purposes in block...f386a04
fix(compiler): handle two-way bindings to signal-based template variables in ...1f129f1
fix(compiler): not catching for loop empty tracking expressions (#54772)b40f1e5
refactor(compiler): Remove deep imports in the language service (#54695)5e32a77
refactor(compiler): cleanup unused code in template builder pipeline (#54654)1a6beae
feat(compiler): Enable template pipeline by default. (#54571)badda0c
fix(compiler-cli): correctly detect deferred dependencies across scoped nodes...dba3e0b
fix(compiler): adding the inert property to the "SCHEMA" array (#53148)6c2d4b6
refactor(compiler): Enable Template Pipeline globally in 1P. (#54435)Updates
@angular/core
from 17.2.4 to 17.3.1Release notes
Sourced from
@angular/core
's releases.... (truncated)
Changelog
Sourced from
@angular/core
's changelog.... (truncated)
Commits
e70228a
refactor(core): Add hydration missmatch on the component rather than the node...1f5ab96
refactor(core): allow passing an environment injector while creating a view (...c078820
fix(compiler): capture data bindings for content projection purposes in block...5d41ab9
refactor(core): restructure logic inisCssClassMatching
function (#54800)243ccce
fix(core): exclude class attribute intended for projection matching from dire...cdfcb77
refactor(core): add internal API to enable i18n hydration (#54784)7df0a8a
refactor(core): report subscription errors forOutputEmitterRef
to `ErrorHa...9889346
docs: typo in output documentation (#54773)39a50f9
fix(core): ensure all initializer functions run in an injection context (#54761)1f77083
refactor(core): assert presence of the track function (#54814)Updates
@angular/forms
from 17.2.4 to 17.3.1Release notes
Sourced from
@angular/forms
's releases.