@angular/platform-browser-dynamic
Advanced tools
Changelog
19.0.0-next.2 (2024-08-28)
Render default fallback with empty projectableNodes
.
When passing an empty array to projectableNodes
in the createComponent
API, the default fallback content of the ng-content
will be rendered if present. To prevent rendering the default content, pass document.createTextNode('')
as a projectableNode
.
For example:
// The first ng-content will render the default fallback content if present
createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
// To prevent projecting the default fallback content:
createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });
The timers that are used for zone coalescing and hybrid
mode scheduling (which schedules an application state synchronization
when changes happen outside the Angular zone) will now run in the zone
above Angular rather than the root zone. This will mostly affect tests
which use fakeAsync
: these timers will now be visible to fakeAsync
and can be affected by tick
or flush
.
| Commit | Type | Description | | -- | -- | -- | | 50f08e6c4bf | feat | automatically use sizes auto in NgOptimizedImage (#57479) |
| Commit | Type | Description | | -- | -- | -- | | 4716c3b9660 | perf | reduce duplicate component style resolution (#57502) |
| Commit | Type | Description | | -- | -- | -- | | a3cdbfe87f5 | fix | avoid leaking memory if component throws during creation (#57546) | | 7a99815146e | fix | Do not bubble capture events. (#57476) | | 7b1e5be20b9 | fix | fallback to default ng-content with empty projectable nodes. (#57480) | | 0300dd2e18f | fix | Fix fixture.detectChanges with autoDetect disabled and zoneless (#57416) | | 226a67dabba | fix | Schedulers run in zone above Angular rather than root (#57553) |
| Commit | Type | Description |
| -- | -- | -- |
| 0cebfd7462c | fix | switch to ComponentRef.setInput
& remove custom scheduler (#56728) |
| Commit | Type | Description | | -- | -- | -- | | 8f6308457f0 | fix | Do not unnecessarily run matcher twice on route matching (#57530) |
| Commit | Type | Description | | -- | -- | -- | | c9d90786d0a | fix | Address Trusted Types violations in @angular/upgrade (#57454) |
<!-- CHANGELOG SPLIT MARKER --><a name="18.2.2"></a>
Changelog
18.2.2 (2024-08-28)
| Commit | Type | Description | | -- | -- | -- | | 106917af878 | fix | avoid leaking memory if component throws during creation (#57546) | | 6d3a2af146a | fix | Do not bubble capture events. (#57476) |
| Commit | Type | Description | | -- | -- | -- | | 5d2e243c76a | fix | Dynamicaly call the global fetch implementation (#57531) |
| Commit | Type | Description | | -- | -- | -- | | 804925b1149 | fix | Do not unnecessarily run matcher twice on route matching (#57530) |
| Commit | Type | Description | | -- | -- | -- | | 03ec620e31a | fix | Address Trusted Types violations in @angular/upgrade (#57454) |
<!-- CHANGELOG SPLIT MARKER --><a name="18.2.1"></a>
Changelog
18.2.1 (2024-08-22)
| Commit | Type | Description |
| -- | -- | -- |
| 9de30a7b1c | fix | Allow zoneless scheduler to run inside fakeAsync
(#56932) |
| 286012fb89 | fix | handle hydration of components that project content conditionally (#57383) |
| Commit | Type | Description | | -- | -- | -- | | 0bb649b8fa | fix | account for members with doc strings and no modifiers (#57389) | | 3b63082384 | fix | avoid migrating route component in tests (#57317) | | 6b4357fae4 | fix | preserve type when using inject decorator (#57389) |
<!-- CHANGELOG SPLIT MARKER --><a name="19.0.0-next.1"></a>
Changelog
19.0.0-next.1 (2024-08-22)
autoDetect
feature of ComponentFixture
will now
attach the fixture to the ApplicationRef
. As a result, errors during
automatic change detection of the fixture be reported to the ErrorHandler
.
This change may cause custom error handlers to observe new failures that were previously unreported.| Commit | Type | Description | | -- | -- | -- | | 9e87593055 | feat | ensure template style elements are preprocessed as inline styles (#57429) |
| Commit | Type | Description |
| -- | -- | -- |
| b063468027 | feat | support TypeScript 5.6 (#57424) |
| 3b0dca75d6 | fix | Allow zoneless scheduler to run inside fakeAsync
(#56932) |
| f03d274e87 | fix | ComponentFixture autoDetect feature works like production (#55228) |
| d4449fce21 | fix | handle hydration of components that project content conditionally (#57383) |
| Commit | Type | Description | | -- | -- | -- | | 4ae66f25d0 | fix | account for members with doc strings and no modifiers (#57389) | | ac93839d69 | fix | avoid migrating route component in tests (#57317) | | 58a79b6e43 | fix | preserve type when using inject decorator (#57389) |
<!-- CHANGELOG SPLIT MARKER --><a name="19.0.0-next.0"></a>
Changelog
19.0.0-next.0 (2024-08-14)
Errors that are thrown during ApplicationRef.tick
will now be rethrown when using TestBed
. These errors should be
resolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:
expect(() => TestBed.inject(ApplicationRef).tick()).toThrow()
TestBed
will reject any outstanding ComponentFixture.whenStable
promises. A jasmine test,
for example, could write expectAsync(fixture.whenStable()).toBeRejected()
.As a last resort, you can configure errors to not be rethrown by
setting rethrowApplicationErrors
to false
in TestBed.configureTestingModule
.
Router.errorHandler
property has been removed.
Adding an error handler should be configured in either
withNavigationErrorHandler
with provideRouter
or the errorHandler
property in the extra options of RouterModule.forRoot
. In addition,
the error handler cannot be used to change the return value of the
router navigation promise or prevent it from rejecting. Instead, if you
want to prevent the promise from rejecting, use resolveNavigationPromiseOnError
.Resolve
interface now includes
RedirectCommand
.| Commit | Type | Description | | -- | -- | -- | | 468d3fb9b1 | fix | rethrow errors during ApplicationRef.tick in TestBed (#57200) |
| Commit | Type | Description |
| -- | -- | -- |
| f271021e19 | feat | Add routerOutletData
input to RouterOutlet
directive (#57051) |
| b2790813a6 | fix | Align RouterModule.forRoot errorHandler with provider error handler (#57050) |
| 7436d3180e | fix | Update Resolve interface to include RedirectCommand like ResolveFn (#57309) |
<a name="18.2.0"></a>
Changelog
18.2.0 (2024-08-14)
| Commit | Type | Description | | -- | -- | -- | | c8e2885136 | feat | Add extended diagnostic to warn when there are uncalled functions in event bindings (#56295) (#56295) |
| Commit | Type | Description |
| -- | -- | -- |
| 98ed5b609e | feat | run JIT transform on classes with jit: true
opt-out (#56892) |
| c76b440ac0 | fix | add warning for unused let declarations (#57033) |
| 0f0a1f2836 | fix | emitting references to ngtypecheck files (#57138) |
| 6c2fbda694 | fix | extended diagnostic visitor not visiting template attributes (#57033) |
| e11c0c42d2 | fix | run JIT transforms on @NgModule
classes with jit: true
(#57212) |
| Commit | Type | Description | | -- | -- | -- | | f7918f5272 | feat | Add 'flush' parameter option to fakeAsync to flush after the test (#57239) | | fab673a1dd | feat | add ng generate schematic to convert to inject (#57056) | | 7919982063 | feat | Add whenStable helper on ApplicationRef (#57190) | | 3459289ef0 | feat | bootstrapModule can configure NgZone in providers (#57060) | | 296216cbe1 | fix | Allow hybrid CD scheduling to support multiple "Angular zones" (#57267) | | 8718abce90 | fix | Deprecate ignoreChangesOutsideZone option (#57029) | | 827070e331 | fix | Do not run image performance warning checks on server (#57234) | | ca89ef9141 | fix | handle shorthand assignment in the inject migration (#57134) | | 5dcdbfcba9 | fix | rename the equality function option in toSignal (#56769) | | 2a4f488a6c | fix | warnings for oversized images and lazy-lcp present with bootstrapModule (#57060) |
| Commit | Type | Description | | -- | -- | -- | | 4bb558ab0c | feat | support writing code refactorings (#56895) | | 7663debce1 | perf | quick exit if no code fixes can exist (#57000) |
| Commit | Type | Description | | -- | -- | -- | | 147eee4253 | feat | add migration to convert standalone component routes to be lazy loaded (#56428) | | cb442a0ce7 | fix | account for parameters with union types (#57127) | | 166166d79e | fix | add alias to inject migration (#57127) | | b1a9d0f4de | fix | avoid duplicating comments when generating properties (#57367) | | 5d76401ff5 | fix | preserve optional parameters (#57367) | | 1cf616f671 | fix | remove generic arguments from the injected type reference (#57127) | | ba0df30ef6 | fix | remove unused imports in inject migration (#57179) | | aae9646a1b | fix | unwrap injected forwardRef (#57127) | | 604270619a | perf | speed up signal input migration by combining two analyze phases (#57318) |
| Commit | Type | Description | | -- | -- | -- | | 6c76c91e15 | feat | Add defaultQueryParamsHandling to router configuration (#57198) |
<!-- CHANGELOG SPLIT MARKER --><a name="18.1.5"></a>
Changelog
18.1.5 (2024-08-14)
| Commit | Type | Description | | -- | -- | -- | | 5401332b0e | fix | generate valid TS 5.6 type checking code (#57303) |
| Commit | Type | Description | | -- | -- | -- | | e39b22a932 | fix | Account for addEventListener to be passed a Window or Document. (#57282) | | db65bc25ca | fix | Account for addEventListener to be passed a Window or Document. (#57354) | | 0e024ecc27 | fix | complete post-hydration cleanup in components that use ViewContainerRef (#57300) | | 822db64b93 | fix | skip hydration for i18n nodes that were not projected (#57356) | | 810f76f574 | fix | take skip hydration flag into account while hydrating i18n blocks (#57299) |
<!-- CHANGELOG SPLIT MARKER --><a name="18.1.4"></a>
Changelog
18.1.4 (2024-08-07)
| Commit | Type | Description | | -- | -- | -- | | 6a99f83659 | fix | reduce chance of conflicts between generated factory and local variables (#57181) |
| Commit | Type | Description |
| -- | -- | -- |
| afb05ff1cb | fix | support JIT transforms before other transforms modifying classes (#57262) |
| bae54a1621 | perf | improve performance of interpolatedSignalNotInvoked
extended diagnostic (#57291) |
| Commit | Type | Description | | -- | -- | -- | | 6ac209c24f | fix | avoid generating TS suggestion diagnostics for templates (#56241) |
<!-- CHANGELOG SPLIT MARKER --><a name="18.1.3"></a>