Skip to content

Releases: angular/angular

v19.0.0-next.3

04 Sep 15:32
Compare
Choose a tag to compare
v19.0.0-next.3 Pre-release
Pre-release

19.0.0-next.3 (2024-09-04)

compiler

Commit Description
feat - a2e4ee0cb3 add diagnostic for unused standalone imports (#57605)

core

Commit Description
feat - 8bcc663a53 drop support for TypeScript 5.4 (#57577)
feat - e6e5d29e83 initial version of the output migration (#57604)
feat - be2e49639b introduce afterRenderEffect (#57549)

elements

Commit Description
fix - fe5c4e086a support output()-shaped outputs (#57535)

http

Commit Description
fix - c2892fee58 Dynamicaly call the global fetch implementation (#57531)

language-service

Commit Description
feat - 8da9fb49b5 add code fix for unused standalone imports (#57605)
feat - 1f067f4507 add code reactoring action to migrate @Input to signal-input (#57214)
feat - 56ee47f2ec allow code refactorings to compute edits asynchronously (#57214)

Breaking Changes

core

    • TypeScript versions less than 5.5 are no longer supported.

v18.2.3

04 Sep 15:25
Compare
Choose a tag to compare

18.2.3 (2024-09-04)

http

Commit Description
fix - de68e049e4 Dynamicaly call the global fetch implementation (#57531)

v19.0.0-next.2

28 Aug 21:38
Compare
Choose a tag to compare
v19.0.0-next.2 Pre-release
Pre-release

19.0.0-next.2 (2024-08-28)

common

Commit Description
feat - 50f08e6c4bf automatically use sizes auto in NgOptimizedImage (#57479)

compiler-cli

Commit Description
perf - 4716c3b9660 reduce duplicate component style resolution (#57502)

core

Commit Description
fix - a3cdbfe87f5 avoid leaking memory if component throws during creation (#57546)
fix - 7a99815146e Do not bubble capture events. (#57476)
fix - 7b1e5be20b9 fallback to default ng-content with empty projectable nodes. (#57480)
fix - 0300dd2e18f Fix fixture.detectChanges with autoDetect disabled and zoneless (#57416)
fix - 226a67dabba Schedulers run in zone above Angular rather than root (#57553)

elements

Commit Description
fix - 0cebfd7462c switch to ComponentRef.setInput & remove custom scheduler (#56728)

http

Commit Description
fix - 21445a29322 Dynamicaly call the global fetch implementation (#57531)

router

Commit Description
fix - 8f6308457f0 Do not unnecessarily run matcher twice on route matching (#57530)

upgrade

Commit Description
fix - c9d90786d0a Address Trusted Types violations in @angular/upgrade (#57454)

Breaking Changes

core

  • 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.

elements

  • as part of switching away from custom CD behavior to the
    hybrid scheduler, timing of change detection around custom elements has
    changed subtly. These changes make elements more efficient, but can cause
    tests which encoded assumptions about how or when elements would be checked
    to require updating.

v18.2.2

28 Aug 21:32
Compare
Choose a tag to compare

18.2.2 (2024-08-28)

core

Commit Description
fix - 106917af878 avoid leaking memory if component throws during creation (#57546)
fix - 6d3a2af146a Do not bubble capture events. (#57476)

http

Commit Description
fix - 5d2e243c76a Dynamicaly call the global fetch implementation (#57531)

router

Commit Description
fix - 804925b1149 Do not unnecessarily run matcher twice on route matching (#57530)

upgrade

Commit Description
fix - 03ec620e31a Address Trusted Types violations in @angular/upgrade (#57454)

v19.0.0-next.1

22 Aug 15:51
Compare
Choose a tag to compare
v19.0.0-next.1 Pre-release
Pre-release

19.0.0-next.1 (2024-08-22)

compiler-cli

Commit Description
feat - 9e87593055 ensure template style elements are preprocessed as inline styles (#57429)

core

Commit Description
feat - b063468027 support TypeScript 5.6 (#57424)
fix - 3b0dca75d6 Allow zoneless scheduler to run inside fakeAsync (#56932)
fix - f03d274e87 ComponentFixture autoDetect feature works like production (#55228)
fix - d4449fce21 handle hydration of components that project content conditionally (#57383)

migrations

Commit Description
fix - 4ae66f25d0 account for members with doc strings and no modifiers (#57389)
fix - ac93839d69 avoid migrating route component in tests (#57317)
fix - 58a79b6e43 preserve type when using inject decorator (#57389)

Breaking Changes

core

  • The 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.

v18.2.1

22 Aug 16:00
Compare
Choose a tag to compare

18.2.1 (2024-08-22)

core

Commit Description
fix - 9de30a7b1c Allow zoneless scheduler to run inside fakeAsync (#56932)
fix - 286012fb89 handle hydration of components that project content conditionally (#57383)

migrations

Commit Description
fix - 0bb649b8fa account for members with doc strings and no modifiers (#57389)
fix - 3b63082384 avoid migrating route component in tests (#57317)
fix - 6b4357fae4 preserve type when using inject decorator (#57389)

v19.0.0-next.0

14 Aug 16:49
Compare
Choose a tag to compare
v19.0.0-next.0 Pre-release
Pre-release

19.0.0-next.0 (2024-08-14)

core

Commit Description
fix - 468d3fb9b1 rethrow errors during ApplicationRef.tick in TestBed (#57200)

router

Commit Description
feat - f271021e19 Add routerOutletData input to RouterOutlet directive (#57051)
fix - b2790813a6 Align RouterModule.forRoot errorHandler with provider error handler (#57050)
fix - 7436d3180e Update Resolve interface to include RedirectCommand like ResolveFn (#57309)

Breaking Changes

core

  • 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:

    • Instead of waiting for automatic change detection to happen, trigger
      it synchronously and expect the error. For example, a jasmine test
      could write 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

  • The 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.
  • The return type of the Resolve interface now includes
    RedirectCommand.

v18.2.0

14 Aug 16:40
Compare
Choose a tag to compare

18.2.0 (2024-08-14)

compiler

Commit Description
feat - c8e2885136 Add extended diagnostic to warn when there are uncalled functions in event bindings (#56295) (#56295)

compiler-cli

Commit Description
feat - 98ed5b609e run JIT transform on classes with jit: true opt-out (#56892)
fix - c76b440ac0 add warning for unused let declarations (#57033)
fix - 0f0a1f2836 emitting references to ngtypecheck files (#57138)
fix - 6c2fbda694 extended diagnostic visitor not visiting template attributes (#57033)
fix - e11c0c42d2 run JIT transforms on @NgModule classes with jit: true (#57212)

core

Commit Description
feat - f7918f5272 Add 'flush' parameter option to fakeAsync to flush after the test (#57239)
feat - fab673a1dd add ng generate schematic to convert to inject (#57056)
feat - 7919982063 Add whenStable helper on ApplicationRef (#57190)
feat - 3459289ef0 bootstrapModule can configure NgZone in providers (#57060)
fix - 296216cbe1 Allow hybrid CD scheduling to support multiple "Angular zones" (#57267)
fix - 8718abce90 Deprecate ignoreChangesOutsideZone option (#57029)
fix - 827070e331 Do not run image performance warning checks on server (#57234)
fix - ca89ef9141 handle shorthand assignment in the inject migration (#57134)
fix - 5dcdbfcba9 rename the equality function option in toSignal (#56769)
fix - 2a4f488a6c warnings for oversized images and lazy-lcp present with bootstrapModule (#57060)

language-service

Commit Description
feat - 4bb558ab0c support writing code refactorings (#56895)
perf - 7663debce1 quick exit if no code fixes can exist (#57000)

migrations

Commit Description
feat - 147eee4253 add migration to convert standalone component routes to be lazy loaded (#56428)
fix - cb442a0ce7 account for parameters with union types (#57127)
fix - 166166d79e add alias to inject migration (#57127)
fix - b1a9d0f4de avoid duplicating comments when generating properties (#57367)
fix - 5d76401ff5 preserve optional parameters (#57367)
fix - 1cf616f671 remove generic arguments from the injected type reference (#57127)
fix - ba0df30ef6 remove unused imports in inject migration (#57179)
fix - aae9646a1b unwrap injected forwardRef (#57127)
perf - 604270619a speed up signal input migration by combining two analyze phases (#57318)

router

Commit Description
feat - 6c76c91e15 Add defaultQueryParamsHandling to router configuration (#57198)

v18.1.5

14 Aug 16:30
Compare
Choose a tag to compare

18.1.5 (2024-08-14)

compiler-cli

Commit Description
fix - 5401332b0e generate valid TS 5.6 type checking code (#57303)

core

Commit Description
fix - e39b22a932 Account for addEventListener to be passed a Window or Document. (#57282)
fix - db65bc25ca Account for addEventListener to be passed a Window or Document. (#57354)
fix - 0e024ecc27 complete post-hydration cleanup in components that use ViewContainerRef (#57300)
fix - 822db64b93 skip hydration for i18n nodes that were not projected (#57356)
fix - 810f76f574 take skip hydration flag into account while hydrating i18n blocks (#57299)

v18.2.0-rc.0

07 Aug 19:27
Compare
Choose a tag to compare
v18.2.0-rc.0 Pre-release
Pre-release

18.2.0-rc.0 (2024-08-07)

compiler

Commit Description
fix - d9d68e73d2 reduce chance of conflicts between generated factory and local variables (#57181)

compiler-cli

Commit Description
perf - 0b1dd39663 improve performance of interpolatedSignalNotInvoked extended diagnostic (#57291)

core

Commit Description
feat - f7918f5272 Add 'flush' parameter option to fakeAsync to flush after the test (#57239)
feat - 7919982063 Add whenStable helper on ApplicationRef (#57190)

Breaking Changes

zone.js

  • fakeAsync will now flush pending timers at the end of
    the given function by default. To opt-out of this, you can use {flush: false} in options parameter of fakeAsync