Files
angular__angular/CHANGELOG.md
T
2023-03-29 15:41:24 -07:00

412 KiB

16.0.0-next.5 (2023-03-29)

Breaking Changes

bazel

  • Several changes to the Angular Package Format (APF)
    • Removal of FESM2015
    • Replacing ES2020 with ES2022
    • Replacing FESM2020 with FESM2022
  • Several changes to the Angular Package Format (APF)
    • Removal of FESM2015
    • Replacing ES2020 with ES2022
    • Replacing FESM2020 with FESM2022

common

  • If the 'ngTemplateOutletContext' is different from the context, it will result in a compile-time error.

Before the change, the following template was compiling:

interface MyContext {
  $implicit: string;
}

@Component({
  standalone: true,
  imports: [NgTemplateOutlet],
  selector: 'person',
  template: `
    <ng-container
      *ngTemplateOutlet="
        myTemplateRef;
        context: { $implicit: 'test', xxx: 'xxx' }
      "></ng-container>
  `,
})
export class PersonComponent {
  myTemplateRef!: TemplateRef<MyContext>;
}

However, it does not compile now because the 'xxx' property does not exist in 'MyContext', resulting in the error: 'Type '{ $implicit: string; xxx: string; }' is not assignable to type 'MyContext'.'

The solution is either:

  • add the 'xxx' property to 'MyContext' with the correct type or
  • add '$any(...)' inside the template to make the error disappear. However, adding '$any(...)' does not correct the error but only preserves the previous behavior of the code.

core

    • entryComponents has been deleted from the @NgModule and @Component public APIs. Any usages can be removed since they weren't doing anyting.
    • ANALYZE_FOR_ENTRY_COMPONENTS injection token has been deleted. Any references can be removed.
  • ComponentRef.setInput will only set the input on the component if it is different from the previous value (based on Object.is equality). If code relies on the input always being set, it should be updated to copy objects or wrap primitives in order to ensure the input value differs from the previous call to setInput.

Deprecations

core

  • makeStateKey, StateKey and TransferState exports have been moved from @angular/platform-browser to @angular/core. Please update the imports.
- import {makeStateKey, StateKey, TransferState} from '@angular/platform-browser';
+ import {makeStateKey, StateKey, TransferState} from '@angular/core';
  • The @Directive/@Component moduleId property is now deprecated. It did not have any effect for multiple major versions and will be removed in v17.

platform-server

  • PlatformConfig.baseUrl and PlatformConfig.useAbsoluteUrl platform-server config options are deprecated as these were not used.

common

Commit Type Description
6499f5ae28 fix invalid ImageKit transformation (#49201)
d47fef72cb fix strict type checking for ngtemplateoutlet (#48374)

compiler

Commit Type Description
1829542aea fix do not unquote CSS values (#49460)
73d2f3c866 fix handle trailing comma in object literal (#49535)

compiler-cli

Commit Type Description
03d1d00ad9 feat Add an extended diagnostic for nSkipHydration (#49512)

core

Commit Type Description
89d291c367 feat add assertInInjectionContext (#49529)
605c536420 feat add migration to remove moduleId references (#49496)
9c5fd50de4 feat effects can optionally return a cleanup function (#49625)
c024574f46 feat expose makeStateKey, StateKey and TransferState (#49563)
9b65b84cb9 feat Mark components for check if they read a signal (#49153)
585e34bf6c feat remove entryComponents (#49484)
be23b7ce65 fix ComponentRef.setInput only sets input when not equal to previous (#49607)
316c91b1a4 fix deprecate moduleId @Component property (#49496)
fdafdb78dc fix set style property value to empty string instead of an invalid value (#49460)

http

Commit Type Description
45a6ac09fd fix force macro task creation during HTTP request (#49546)

migrations

Commit Type Description
5e5dac278d feat Migration to remove Router guard and resolver interfaces (#49337)

platform-browser

Commit Type Description
e8e36811d5 fix set nonce attribute in a platform compatible way (#49624)

platform-server

Commit Type Description
e99460865e refactor deprecate useAbsoluteUrl and baseUrl (#49546)

router

Commit Type Description
2dbf3e0023 fix Ensure Router preloading works with lazy component and static children (#49571)
d3018c0ee7 fix fix #49457 outlet activating with old info (#49459)
1600687fe5 fix Route matching should only happen once when navigating (#49163)

Special Thanks

Alan Agius, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Asaf Malin, Jan Cabadaj, Jessica Janiuk, JiaLiPassion, Kristiyan Kostadinov, Matthieu Riegler, Paul Gschwendtner, Pawel Kozlowski, Sid, Tano Abeleyra and tomalaforge

15.2.5 (2023-03-29)

common

Commit Type Description
ca5acadb78 fix invalid ImageKit transformation (#49201)

compiler

Commit Type Description
077f6b4674 fix do not unquote CSS values (#49460)
c3cff35869 fix handle trailing comma in object literal (#49535)

core

Commit Type Description
d201fc2dec fix set style property value to empty string instead of an invalid value (#49460)

router

Commit Type Description
978d37f324 fix Ensure Router preloading works with lazy component and static children (#49571)
a844435514 fix fix #49457 outlet activating with old info (#49459)

Special Thanks

Alan Agius, Andrew Scott, Asaf Malin, Jan Cabadaj, Kristiyan Kostadinov, Matthieu Riegler, Paul Gschwendtner, Sid and Tano Abeleyra

16.0.0-next.4 (2023-03-22)

Breaking Changes

platform-server

  • renderApplication method no longer accepts a root component as first argument. Instead, provide a bootstrapping function that returns a Promise<ApplicationRef>.

    Before

    const output: string = await renderApplication(RootComponent, options);
    

    Now

    const bootstrap = () => bootstrapApplication(RootComponent, appConfig);
    const output: string = await renderApplication(bootstrap, options);
    

compiler

Commit Type Description
13dd614cd1 feat add support for compile-time required inputs (#49453)

core

Commit Type Description
17e9862653 feat add API to provide CSP nonce for inline stylesheets (#49444)
d1617c449d feat allow removal of previously registered DestroyRef callbacks (#49493)
230345876c fix Allow TestBed.configureTestingModule to work with recursive cycle of standalone components. (#49473)
e655e8a603 fix more accurate matching of classes during content projection (#48888)

migrations

Commit Type Description
546b285ec1 fix preserve trailing commas in code generated by standalone migration (#49533)

platform-browser

Commit Type Description
c934a8e72b fix only add ng-app-id to style on server side (#49465)

platform-server

Commit Type Description
41f27ad086 refactor remove renderApplication overload that accepts a component (#49463)

Special Thanks

Aditya Srinivasan, Alan Agius, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Jessica Janiuk, Kristiyan Kostadinov, Masaoki Kobayashi, Matthieu Riegler, Paul Gschwendtner, Pawel Kozlowski, Peter Götz, Thomas Pischke, Virginia Dooley and avmaxim

15.2.4 (2023-03-22)

core

Commit Type Description
bae6b5ceb1 fix Allow TestBed.configureTestingModule to work with recursive cycle of standalone components. (#49473)
087f4412af fix more accurate matching of classes during content projection (#48888)

Special Thanks

Aditya Srinivasan, Alex Rickabaugh, Andrew Scott, Kristiyan Kostadinov, Masaoki Kobayashi, Matthieu Riegler, Paul Gschwendtner, Peter Götz, Thomas Pischke, Virginia Dooley and avmaxim

16.0.0-next.3 (2023-03-16)

Breaking Changes

core

  • The APP_ID token value is no longer randomly generated. If you are bootstrapping multiple application on the same page you will need to set to provide the APP_ID yourself.

    bootstrapApplication(ComponentA, {
      providers: [
       { provide: APP_ID, useValue: 'app-a' },
       // ... other providers ...
      ]
    });
    

router

  • ComponentFactoryResolver has been removed from Router APIs. Component factories are not required to create an instance of a component dynamically. Passing a factory resolver via resolver argument is no longer needed and code can instead use ViewContainerRef.createComponent without the factory resolver.

Deprecations

core

  • EnvironmentInjector.runInContext is now deprecated, with runInInjectionContext functioning as a direct replacement:

    // Previous method version (deprecated):
    envInjector.runInContext(fn);
    // New standalone function:
    runInInjectionContext(envInjector, fn);
    

platform-browser

  • BrowserModule.withServerTransition has been deprecated. APP_ID should be used instead to set the application ID. NB: Unless, you render multiple Angular applications on the same page, setting an application ID is not necessary.

    Before:

    imports: [
      BrowserModule.withServerTransition({ appId: 'serverApp' }),
      ...
    ]
    

    After:

    imports: [
      BrowserModule,
      { provide: APP_ID, useValue: 'serverApp' },
      ...
    ],
    

compiler

Commit Type Description
1a6ca68154 feat add support for compile-time required inputs (#49304)

core

Commit Type Description
0814f20594 feat introduce runInInjectionContext and deprecate prior version (#49396)
0e5f9ba6f4 fix generate consistent component IDs (#48253)
82d6fbb109 refactor generate a static application ID (#49422)

platform-browser

Commit Type Description
630af63fae feat deprecate withServerTransition call (#49422)
9165ff2517 fix reuse server generated component styles (#48253)

platform-server

Commit Type Description
056d68002f feat add provideServerSupport function to provide server capabilities to an application (#49380)

router

Commit Type Description
c0b1b7becf fix Remove deprecated ComponentFactoryResolver from APIs (#49239)

service-worker

Commit Type Description
5e7fc259ea feat add function to provide service worker (#48247)

Special Thanks

Alan Agius, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Esteban Gehring, Jessica Janiuk, JiaLiPassion, Julien Saguet, Kristiyan Kostadinov, Matthieu Riegler, Paul Gschwendtner and Virginia Dooley

15.2.3 (2023-03-16)

Special Thanks

Alan Agius, Esteban Gehring, Matthieu Riegler and Virginia Dooley

14.3.0 (2023-03-13)

common

Commit Type Description
37bbc61cfe feat Backport NgOptimizedImage to Angular 14.

Special Thanks

Alex Castle, Joey Perrott and Paul Gschwendtner

16.0.0-next.2 (2023-03-08)

Breaking Changes

common

  • Deprecated XhrFactory export from @angular/common/http has been removed. Use XhrFactory from @angular/common instead.

core

  • zone.js versions 0.11.x and 0.12.x are not longer supported.

platform-server

  • renderModuleFactory has been removed. Use renderModule instead.

Deprecations

platform-browser

  • ApplicationConfig has moved, please import ApplicationConfig from @angular/core instead.

common

Commit Type Description
c41a21658c refactor remove deprecated XhrFactory export from http entrypoint (#49251)

compiler

Commit Type Description
1407a9aeaf feat support multiple configuration files in extends (#49125)

core

Commit Type Description
4e9531f777 feat add mergeApplicationConfig method (#49253)
fdf61974d1 feat drop support for zone.js versions <=0.12.0 (#49331)

migrations

Commit Type Description
2fbaee3cbe fix add protractor support if protractor imports are detected (#49274)

platform-browser

Commit Type Description
3aa85a8087 refactor move ApplicationConfig to core (#49253)

platform-server

Commit Type Description
b5278cc115 feat renderApplication now accepts a bootstrapping method (#49248)
17abe6dc96 refactor remove deprecated renderModuleFactory (#49247)

router

Commit Type Description
ea32c3289a feat Expose information about the last successful Navigation (#49235)

Special Thanks

Alan Agius, Andrew Kushnir, Andrew Scott, Dylan Hunn, Jessica Janiuk, JiaLiPassion, Kristiyan Kostadinov, Matthieu Riegler, Paul Gschwendtner, Sai Kartheek Bommisetty and Vinit Neogi

15.2.2 (2023-03-08)

migrations

Commit Type Description
6207d6f1f0 fix add protractor support if protractor imports are detected (#49274)

Special Thanks

Alan Agius, Andrew Kushnir, Andrew Scott, Kristiyan Kostadinov, Matthieu Riegler, Paul Gschwendtner, Sai Kartheek Bommisetty and Vinit Neogi

16.0.0-next.1 (2023-03-01)

Breaking Changes

compiler

    • TypeScript 4.8 is no longer supported.

core

  • Node.js v14 support has been removed

    Node.js v14 is planned to be End-of-Life on 2023-04-30. Angular will stop supporting Node.js v14 in Angular v16. Angular v16 will continue to officially support Node.js versions v16 and v18.

router

  • Tests which mock ActivatedRoute instances may need to be adjusted because Router.createUrlTree now does the right thing in more scenarios. This means that tests with invalid/incomplete ActivatedRoute mocks may behave differently than before. Additionally, tests may now navigate to a real URL where before they would navigate to the root. Ensure that tests provide expected routes to match. There is rarely production impact, but it has been found that relative navigations when using an ActivatedRoute that does not appear in the current router state were effectively ignored in the past. By creating the correct URLs, this sometimes resulted in different navigation behavior in the application. Most often, this happens when attempting to create a navigation that only updates query params using an empty command array, for example router.navigate([], {relativeTo: route, queryParams: newQueryParams}). In this case, the relativeTo property should be removed.

common

Commit Type Description
3c9d49a4d7 fix make Location.normalize() return the correct path when the base path contains characters that interfere with regex syntax. (#49181)

compiler

Commit Type Description
79cdfeb392 feat drop support for TypeScript 4.8 (#49155)

compiler-cli

Commit Type Description
b6c6dfd278 fix do not persist component analysis if template/styles are missing (#49184)

core

Commit Type Description
99d874fe3b feat add support for TypeScript 5.0 (#49126)
0f5c8003cc feat introduce concept of DestroyRef (#49158)
e9edea363c fix update zone.js peerDependencies ranges (#49244)
f594725951 refactor remove Node.js v14 support (#49255)

migrations

Commit Type Description
87affadb87 fix avoid migrating the same class multiple times in standalone migration (#49245)
7dd19570e8 fix delete barrel exports in standalone migration (#49176)

platform-server

Commit Type Description
a08a8ff108 fix bundle @angular/domino in via esbuild (#49229)

router

Commit Type Description
455c728525 feat helper functions to convert class guards to functional (#48709)
7e35a917c5 fix add error message when using loadComponent with a NgModule (#49164)
31f210bf2c fix Router.createUrlTree should work with any ActivatedRoute (#48508)

Special Thanks

Alan Agius, Andrew Kushnir, Andrew Scott, Aristeidis Bampakos, Craig Spence, Doug Parker, Iván Navarro, Jessica Janiuk, JiaLiPassion, Joey Perrott, Kristiyan Kostadinov, Matthieu Riegler, Michael Ziluck, Paul Gschwendtner, Pawel Kozlowski, Stephanie Tuerk, Vincent and Virginia Dooley

15.2.1 (2023-03-01)

common

Commit Type Description
f0e926074d fix make Location.normalize() return the correct path when the base path contains characters that interfere with regex syntax. (#49181)

compiler-cli

Commit Type Description
04d8b6c61a fix do not persist component analysis if template/styles are missing (#49184)

core

Commit Type Description
d60ea6ab5a fix update zone.js peerDependencies ranges (#49244)

migrations

Commit Type Description
44d095a61c fix avoid migrating the same class multiple times in standalone migration (#49245)
92b0bda9e4 fix delete barrel exports in standalone migration (#49176)

router

Commit Type Description
3062442728 fix add error message when using loadComponent with a NgModule (#49164)

Special Thanks

Alan Agius, Andrew Kushnir, Aristeidis Bampakos, Craig Spence, Doug Parker, Iván Navarro, Joey Perrott, Kristiyan Kostadinov, Matthieu Riegler, Michael Ziluck, Paul Gschwendtner, Stephanie Tuerk, Vincent and Virginia Dooley

16.0.0-next.0 (2023-02-22)

Breaking Changes

compiler

  • Angular Compatibility Compiler (ngcc) has been removed. As a result, Angular View Engine libraries can no longer be used in v16+. Such libraries were not officially supported, but this is a hard break in compatibility.

common

  • MockPlatformLocation is now provided by default in tests. Existing tests may have behaviors which rely on BrowserPlatformLocation instead. For example, direct access to the window.history in either the test or the component rather than going through the Angular APIs (Location.getState()). The quickest fix is to update the providers in the test suite to override the provider again TestBed.configureTestingModule({providers: [{provide: PlatformLocation, useClass: BrowserPlatformLocation}]}). The ideal fix would be to update the code to instead be compatible with MockPlatformLocation instead.

core

  • RendererType2.styles no longer accepts a nested arrays.

router

  • The Scroll event's routerEvent property may also be a NavigationSkipped event. Previously, it was only a NavigationEnd event.
  • The RouterEvent type is no longer present in the Event union type representing all router event types. If you have code using something like filter((e: Event): e is RouterEvent => e instanceof RouterEvent), you'll need to update it to filter((e: Event|RouterEvent): e is RouterEvent => e instanceof RouterEvent).

Commit Type Description
48aa96ea13 refactor remove Angular Compatibility Compiler (ngcc) (#49101)

common

Commit Type Description
5dce2a5a3a feat Provide MockPlatformLocation by default in BrowserTestingModule (#49137)

core

Commit Type Description
bc5ddabdcb feat add Angular Signals to the public API (#49150)
9b9c818f99 perf change RendererType2.styles to accept a only a flat array (#49072)

router

Commit Type Description
1f055b90b6 fix Ensure anchor scrolling happens on ignored same URL navigations (#48025)
1e32709e0e fix remove RouterEvent from Event union type (#46061)

Special Thanks

Alan Agius, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Cédric Exbrayat, Joey Perrott, Mladen Jakovljević and Pawel Kozlowski

15.2.0 (2023-02-22)

Deprecations

  • Class and InjectionToken guards and resolvers are deprecated. Instead, write guards as plain JavaScript functions and inject dependencies with inject from @angular/core.

Commit Type Description
926c35f4ac docs Deprecate class and InjectionToken and resolvers (#47924)

common

Commit Type Description
54b24eb40f feat Add loaderParams attribute to NgOptimizedImage (#48907)

compiler-cli

Commit Type Description
0cf11167f1 fix incorrectly detecting forward refs when symbol already exists in file (#48988)

core

Commit Type Description
a154db8a81 feat add ng generate schematic to convert declarations to standalone (#48790)
345e737daa feat add ng generate schematic to convert to standalone bootstrapping APIs (#48848)
e7318fc758 feat add ng generate schematic to remove unnecessary modules (#48832)

language-service

Commit Type Description
4ae384fd61 feat Allow auto-imports of a pipe via quick fix when its selector is used, both directly and via reexports. (#48354)
141333411e feat Introduce a new NgModuleIndex, and use it to suggest re-exports. (#48354)
d0145033bd fix generate forwardRef for same file imports (#48898)

migrations

Commit Type Description
2796230e95 fix add enum in mode option in standalone schema (#48851)
816e76a578 fix automatically prune root module after bootstrap step (#49030)
bdbf21d04b fix avoid generating imports with forward slashes (#48993)
32cf4e5cb9 fix avoid internal modules when generating imports (#48958)
521ccfbe6c fix avoid interrupting the migration if language service lookup fails (#49010)
a40cd47aa7 fix avoid modifying testing modules without declarations (#48921)
1afa6ed322 fix don't add ModuleWithProviders to standalone test components (#48987)
c98c6a8452 fix don't copy animations modules into the imports of test components (#49147)
8389557848 fix don't copy unmigrated declarations into imports array (#48882)
f82bdc4b01 fix don't delete classes that may provide dependencies transitively (#48866)
759db12e0b fix duplicated comments on migrated classes (#48966)
ba38178d19 fix generate forwardRef for same file imports (#48898)
03fcb36cfd fix migrate HttpClientModule to provideHttpClient() (#48949)
2de6dae16d fix migrate RouterModule.forRoot with a config object to use features (#48935)
770191cf1f fix migrate tests when switching to standalone bootstrap API (#48987)
c7926b5773 fix move standalone migrations into imports (#48987)
65c74ed93e fix normalize paths to posix (#48850)
6377487b1a fix only exclude bootstrapped declarations from initial standalone migration (#48987)
e9e4449a43 fix preserve tsconfig in standalone migration (#48987)
ffad1b49d9 fix reduce number of files that need to be checked (#48987)
ba7a757cc5 fix return correct alias when conflicting import exists (#49139)
49a7c9f94a fix standalone migration incorrectly throwing path error for multi app projects (#48958)
584976e6c8 fix support --defaults in standalone migration (#48921)
03f47ac901 fix use consistent quotes in generated imports (#48876)
ebae506d89 fix use import remapper in root component (#49046)
40c976c909 fix use NgForOf instead of NgFor (#49022)
4ac25b2aff perf avoid re-traversing nodes when resolving bootstrap call dependencies (#49010)
26cb7ab2e6 perf speed up language service lookups (#49010)

platform-browser

Commit Type Description
bf4ad38117 fix remove styles from DOM of destroyed components (#48298)

platform-server

Commit Type Description
25e220a23a fix avoid duplicate TransferState info after renderApplication call (#49094)

router

Commit Type Description
31b94c762f feat Add a withNavigationErrorHandler feature to provideRouter (#48551)
dedac8d3f7 feat Add test helper for trigger navigations in tests (#48552)

Special Thanks

Alan Agius, Alex Castle, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Dylan Hunn, Ikko Eltociear Ashimine, Ilyass, Jessica Janiuk, Joey Perrott, John Manners, Kalbarczyk, Kristiyan Kostadinov, Matthieu Riegler, Paul Gschwendtner, Pawel Kozlowski, Virginia Dooley, Walid Bouguima, cexbrayat and mgechev

15.1.5 (2023-02-15)

forms

Commit Type Description
5f2a3edcf2 fix Make radio buttons respect [attr.disabled] (#48864)

Special Thanks

AleksanderBodurri, Alvaro Junqueira, Dylan Hunn, Joey Perrott, Matthieu Riegler, PaloMiklo and Paul Gschwendtner

15.1.4 (2023-02-08)

Special Thanks

Jessica Janiuk, Kian Yang Lee, Matthieu Riegler, Redouane Bekkouche and Simona Cotin

15.1.3 (2023-02-02)

animations

Commit Type Description
d36dfd4b62 fix fix non-animatable warnings for easing (#48583)

common

Commit Type Description
a334e4efbe fix warn if using ngSrcset without a configured image loader (#48804)

compiler

Commit Type Description
171b4d4640 fix incorrect code when non-null assertion is used after a safe access (#48801)

migrations

Commit Type Description
9e86dd231b fix Fixed file format issue with lint (#48859)
af31f98b00 fix migration host incorrectly reading empty files (#48849)

platform-server

Commit Type Description
73972c684e fix insert transfer state script before other script tags (#48868)

router

Commit Type Description
d5b2c249a3 fix Handle routerLink directive on svg anchors. (#48857)

Special Thanks

Alan Agius, Besim Gürbüz, Brecht Billiet, Dario Piotrowicz, Dylan Hunn, Iván Navarro, Jessica Janiuk, Kristiyan Kostadinov, Matthieu Riegler, Onkar Ruikar, Payam Valadkhan, Santosh Yadav, Virginia Dooley and Walid Bouguima

15.1.2 (2023-01-25)

compiler

Commit Type Description
98ccb57117 fix handle css selectors with space after an escaped character. (#48558)

compiler-cli

Commit Type Description
145f848a10 fix resolve deprecation warning (#48812)

router

Commit Type Description
a6b10f6e59 fix 'createUrlTreeFromSnapshot' with empty paths and named outlets (#48734)

Special Thanks

Alan Agius, AleksanderBodurri, Andrew Kushnir, Andrew Scott, Charles Lyding, Dylan Hunn, JoostK, Matthieu Riegler, Paul Gschwendtner, Payam Valadkhan, Virginia Dooley, Yann Thomas LE MOIGNE and dario-piotrowicz

15.1.1 (2023-01-18)

common

Commit Type Description
68ce4f6ab4 fix Update Location to get a normalized URL valid in case a represented URL starts with the substring equals APP_BASE_HREF (#48489)
032b2bd689 perf avoid excessive DOM mutation in NgClass (#48433)

core

Commit Type Description
dd54f6bd96 fix makeEnvironmentProviders should accept EnvironmentProviders (#48720)

Special Thanks

Alan Agius, Alex Rickabaugh, Andrew Scott, Aristeidis Bampakos, Bob Watson, Jens, Konstantin Kharitonov, Kristiyan Kostadinov, Matthieu Riegler, Paul Gschwendtner, Pawel Kozlowski, Vladyslav Slipchenko, ced, dario-piotrowicz, mgechev and ノウラ

15.1.0 (2023-01-10)

Deprecations

router

  • CanLoad guards in the Router are deprecated. Use CanMatch instead.

  • router writable properties

    The following strategies are meant to be configured by registering the application strategy in DI via the providers in the root NgModule or bootstrapApplication:

    • routeReuseStrategy
    • titleStrategy
    • urlHandlingStrategy

    The following options are meant to be configured using the options available in RouterModule.forRoot or provideRouter.

    • onSameUrlNavigation
    • paramsInheritanceStrategy
    • urlUpdateStrategy
    • canceledNavigationResolution

    The following options are available in RouterModule.forRoot but not available in provideRouter:

    • malformedUriErrorHandler - This was found to not be used anywhere internally.
    • errorHandler - Developers can instead subscribe to Router.events and filter for NavigationError.

common

Commit Type Description
fe50813664 feat Add BrowserPlatformLocation to the public API (#48488)
2f4f0638c7 fix Add data attribtue to NgOptimizedImage (#48497)

compiler

Commit Type Description
a532d71975 feat allow self-closing tags on custom elements (#48535)
caf7228f8a fix resolve deprecation warning (#48652)
33f35b04ef fix type-only symbols incorrectly retained when downlevelling custom decorators (#48638)

compiler-cli

Commit Type Description
caedef0f5b fix update @babel/core dependency and lock version (#48634)

core

Commit Type Description
6acae1477a feat Add TestBed.runInInjectionContext to help test functions which use inject (#47955)
38421578a2 feat Make the isStandalone() function available in public API (#48114)
dd42974b07 feat support TypeScript 4.9 (#48005)

forms

Commit Type Description
8aa8b4b77c fix Form provider FormsModule.withConfig return a FormsModule (#48526)

language-service

Commit Type Description
5f0b53c735 feat Allow auto-imports to suggest multiple possible imports. (#47787)
6a8ea29a04 fix expose package.json for vscode extension resolution (#48678)
ce8160ecb2 fix Prevent crashes on unemitable references (#47938)
e615b598ba fix ship /api entry-point (#48670)
6ce7d76a0e fix update packages/language-service/build.sh script to work with vscode-ng-language-service's new Bazel build (#48663)

localize

Commit Type Description
a1a8e91eca fix add triple slash type reference on @angular/localize on `ng add (#48502)

migrations

Commit Type Description
cc284afbbc fix combine newly-added imports in import manager (#48620)

router

Commit Type Description
228e992db7 docs Deprecate canLoad guards in favor of canMatch (#48180)
0a8b8a66cd docs Deprecate public members of Router that are meant to be configured elsewhere (#48006)
332461bd0c feat Add ability to override onSameUrlNavigation default per-navigation (#48050)
f58ad86e51 feat Add feature provider for enabling hash navigation (#48301)
73f03ad2d2 feat Add new NavigationSkipped event for ignored navigations (#48024)
3fe75710d9 fix page refresh should not destroy history state (#48540)

Special Thanks

Alan Agius, Alex Castle, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Bob Watson, Charles Lyding, Derek Cormier, Doug Parker, Dylan Hunn, George Kalpakas, Greg Magolan, Jessica Janiuk, JiaLiPassion, Joey Perrott, Kristiyan Kostadinov, Matthieu Riegler, Paul Gschwendtner, Pawel Kozlowski, Renan Ferro, Tim Gates, Vadim, Virginia Dooley, ced, mgechev, piyush132000, robertIsaac and sr5434

15.0.4 (2022-12-14)

animations

Commit Type Description
6c1064c72f fix fix incorrect handling of camel-case css properties (#48436)

common

Commit Type Description
f30d18a942 fix Fix TestBed.overrideProvider type to include multi (#48424)

compiler-cli

Commit Type Description
b55d2dab5d fix evaluate const tuple types statically (#48091)

Special Thanks

Alan Agius, Andrew Kushnir, Andrew Scott, Aristeidis Bampakos, Bob Watson, BrowserPerson, Jens, Jessica Janiuk, Joey Perrott, JoostK, Konstantin Kharitonov, Lukas Matta, Piotr Kowalski, Virginia Dooley, Yannick Baron, dario-piotrowicz, lsst25, piyush132000 and why520crazy

15.0.3 (2022-12-07)

common

Commit Type Description
50b1c2bf52 fix Don't generate srcsets with very large sources (#47997)
bf44dc234a fix Update Location to support base href containing origin (#48327)

compiler

Commit Type Description
9a5d84249a fix make sure selectors inside container queries are correctly scoped (#48353)

compiler-cli

Commit Type Description
167bc0d163 fix Produce diagnostic rather than crash when using invalid hostDirective (#48314)

core

Commit Type Description
e4dcaa513e fix unable to inject ChangeDetectorRef inside host directives (#48355)

Special Thanks

Alan Agius, Alex Castle, Andrew Kushnir, Andrew Scott, Bob Watson, Derek Cormier, Joey Perrott, Konstantin Kharitonov, Kristiyan Kostadinov, Paul Gschwendtner, Pawel Kozlowski, dario-piotrowicz and piyush132000

15.0.2 (2022-11-30)

compiler-cli

Commit Type Description
86a21f5569 fix accept inheriting the constructor from a class in a library (#48156)

Special Thanks

Alan Agius, Andrew Scott, Aristeidis Bampakos, Bob Watson, Derek Cormier, JoostK, Kristiyan Kostadinov, Matthieu Riegler, Paul Gschwendtner, Pawel Kozlowski, Rokas Brazdžionis, mgechev and piyush132000

15.0.1 (2022-11-22)

common

Commit Type Description
930af9dd26 fix Fix MockPlatformLocation events and missing onPopState implementation (#48113)

forms

Commit Type Description
b342e55509 fix don't mutate validators array (#47830)
a12a120272 fix FormBuilder.group return right type with shorthand parameters. (#48084)

language-service

Commit Type Description
cc8b76ef7c fix correctly handle host directive inputs/outputs (#48147)
a8c33bf931 fix update packages/language-service/build.sh script to work with vscode-ng-language-service's new Bazel build (#48120)

router

Commit Type Description
e4309d57d8 fix correct type of nextState parameter in canDeactivate (#48038)
9baefd085f fix Ensure renavigating in component init works with enabledBlocking (#48063)
fa5528fb5f fix restore 'history.state' on popstate even if navigationId missing (#48033)

Special Thanks

Alan Agius, Andrew Scott, Bjarki, Bob Watson, Brooke, Derek Cormier, Dylan Hunn, George Kalpakas, Greg Magolan, Ikko Ashimine, Ivan Rodriguez, Jessica Janiuk, Joe Roxbury, Joey Perrott, Kristiyan Kostadinov, Matthieu Riegler, Mikhail Savchuk, Nebojsa Cvetkovic, Pawel Kozlowski, Volodymyr and Wooshaah

12.2.17 (2022-11-22)

Breaking Changes

core

  • Existing iframe usages may have security-sensitive attributes applied as an attribute or property binding in a template or via host bindings in a directive. Such usages would require an update to ensure compliance with the new stricter rules around iframe bindings.

core

Commit Type Description
b871db57da fix hardening attribute and property binding rules for