14.0.0-rc.1 (2022-05-18)
compiler-cli
| Commit | Description |
|---|---|
| handle standalone components with cycles (#46029) | |
| use existing imports for standalone dependencies (#46029) |
core
| Commit | Description |
|---|---|
| set correct context for inject() for component ctors (#45991) |
forms
| Commit | Description |
|---|---|
| Value and RawValue should be part of the public API. (#45978) |
language-service
| Commit | Description |
|---|---|
| Fix detection of Angular for v14+ projects (#45998) | |
| Prevent TSServer from removing templates from project (#45965) |
Special Thanks
4javier, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Bob Watson, Dylan Hunn, Evan Lee, George Kalpakas, Joey Perrott, Kristiyan Kostadinov, Pavan Kumar Jadda, Roy Dorombozi, Virginia Dooley, celinetunc, ivanwonder and mariu
14.0.0-rc.0 (2022-05-11)
bazel
| Commit | Description |
|---|---|
speed up d.ts bundling by configuring worker (#45900) |
core
| Commit | Description |
|---|---|
allow checkNoChanges mode to be tree-shaken in production (#45913) |
forms
| Commit | Description |
|---|---|
| Allow NonNullableFormBuilder to be injected. (#45904) | |
| Prevent FormBuilder from distributing unions to control types. (#45942) |
language-service
| Commit | Description |
|---|---|
| Add resource files as roots to their associated projects (#45601) |
ngcc
| Commit | Description |
|---|---|
| cope with packages following APF v14+ (#45833) |
platform-browser
| Commit | Description |
|---|---|
avoid including Testability by default in bootstrapApplication (#45885) |
Special Thanks
AleksanderBodurri, Andrew Kushnir, Andrew Scott, Cédric Exbrayat, Dylan Hunn, George Kalpakas, JayMartMedia, JoostK, Kristiyan Kostadinov, Paul Gschwendtner, Ted.chang, Thomas Mair, Will 保哥, dario-piotrowicz, mgechev and ᚷᛁᛟᚱᚷᛁ ᛒᚨᛚᚨᚲᚻᚨᛞᛉᛖ
13.3.7 (2022-05-11)
core
| Commit | Description |
|---|---|
allow checkNoChanges mode to be tree-shaken in production (#45936) |
language-service
| Commit | Description |
|---|---|
| Add resource files as roots to their associated projects (#45601) |
Special Thanks
Andrew Kushnir, Andrew Scott, George Kalpakas, JayMartMedia, JoostK, Paul Gschwendtner, Ted.chang, Thomas Mair, Will 保哥, dario-piotrowicz, mgechev and ᚷᛁᛟᚱᚷᛁ ᛒᚨᛚᚨᚲᚻᚨᛞᛉᛖ
14.0.0-next.16 (2022-05-04)
Breaking Changes
router
initialNavigation: 'enabled'was deprecated in v11 and is replaced by
initialNavigation: 'enabledBlocking'.
common
| Commit | Description |
|---|---|
| properly cast http param values to strings (#42643) |
compiler
| Commit | Description |
|---|---|
| exclude empty styles from emitted metadata (#45459) |
compiler-cli
| Commit | Description |
|---|---|
exclude abstract classes from strictInjectionParameters requirement (#44615) |
|
| Support template binding to protected component members (#45823) | |
| handle forwardRef in imports of standalone component (#45869) | |
| report invalid imports in standalone components during resolve phase (#45827) |
core
| Commit | Description |
|---|---|
| allow to throw on unknown elements in tests (#45479) | |
| allow to throw on unknown elements in tests (#45479) | |
| allow to throw on unknown properties in tests (#45853) | |
| support TypeScript 4.7 (#45749) | |
| update TestBed to recognize Standalone Components (#45809) | |
Ensure the StandaloneService is retained after closure minification (#45783) |
|
prevent BrowserModule providers from being loaded twice (#45826) |
|
support nested arrays of providers in EnvironmentInjector (#45789) |
|
throw if standalone components are present in @NgModule.bootstrap (#45825) |
|
| verify standalone component imports in JiT (#45777) |
forms
| Commit | Description |
|---|---|
Add FormBuilder.nonNullable. (#45852) |
platform-server
| Commit | Description |
|---|---|
implement renderApplication function (#45785) |
|
update renderApplication to move appId to options (#45844) |
router
| Commit | Description |
|---|---|
| add type properties to all router events (#44189) | |
| Remove deprecated initialNavigation option (#45729) |
Special Thanks
AleksanderBodurri, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Charles Lyding, Cédric Exbrayat, Dylan Hunn, George Kalpakas, JoostK, Kristiyan Kostadinov, Paul Gschwendtner, Pawel Kozlowski, Ryan Day, Zack Elliott, cexbrayat and dario-piotrowicz
14.0.0-next.15 (2022-04-27)
Breaking Changes
common
- Adds new required class member that any implementors of the LocationStrategy will need to satisfy.
Location does not depend on PlatformLocation anymore.
compiler
-
Keyframes names are now prefixed with the component's "scope name".
For example, the following keyframes rule in a component definition,
whose "scope name" is host-my-cmp:@Keyframes foo { ... }
will become:
@Keyframes host-my-cmp_foo { ... }
Any TypeScript/JavaScript code which relied on the names of keyframes rules
will no longer match.The recommended solutions in this case are to either:
- change the component's view encapsulation to the
NoneorShadowDom - define keyframes rules in global stylesheets (e.g styles.css)
- define keyframes rules programmatically in code.
- change the component's view encapsulation to the
router
- When a guard returns a
UrlTree, the router would previously schedule
the redirect navigation within asetTimeout. This timeout is now removed,
which can result in test failures due to incorrectly written tests.
Tests which perform navigations should ensure that all timeouts are
flushed before making assertions. Tests should ensure they are capable
of handling all redirects from the original navigation.
bazel
| Commit | Description |
|---|---|
| speed up dev-turnaround by bundling types only when packaging (#45405) | |
| add this_is_bazel marker (#45728) |
common
| Commit | Description |
|---|---|
| add getState method to LocationStrategy interface (#45648) |
compiler
| Commit | Description |
|---|---|
| scope css keyframes in emulated view encapsulation (#42608) |
core
| Commit | Description |
|---|---|
add the bootstrapApplication function (#45674) |
|
| implement standalone directives, components, and pipes (#45687) |
localize
| Commit | Description |
|---|---|
| ensure transitively loaded compiler code is tree-shakable (#45405) |
router
| Commit | Description |
|---|---|
| add ariaCurrentWhenActive input to RouterLinkActive directive (#45167) | |
Allow loadChildren to return a Route array (#45700) |
|
Support lazy loading standalone components with loadComponent (#45705) |
|
| Remove unnecessary setTimeout in UrlTree redirects (#45735) |
Special Thanks
Alex Rickabaugh, Andrew Kushnir, Andrew Scott, George Kalpakas, Joey Perrott, Michal Materowski, Paul Gschwendtner, Pawel Kozlowski, Sumit Arora and dario-piotrowicz
14.0.0-next.14 (2022-04-20)
Breaking Changes
http
- Queries including + will now actually query for + instead of space.
Most workarounds involving custom codecs will be unaffected.
Possible server-side workarounds will need to be undone.
router
-
The type of
componentonActivatedRouteandActivatedRouteSnapshot
includesstring. In reality, this is not the case. The component
cannot be anything other than a component class. -
Lazy loaded configs are now also validated once loaded like the
initial set of routes are. Lazy loaded modules which have invalid Route
configs will now error. Note that this is only done in dev mode so
there is no production impact of this change.
Deprecations
router
- The
resolverargument of theRouterOutletContract.activateWithfunction and theresolverfield of theOutletContextclass are deprecated. Passing component factory resolvers are no longer needed. TheComponentFactoryResolver-related symbols were deprecated in@angular/corepackage since v13.
bazel
| Commit | Description |
|---|---|
do not error if files part of srcs are outside of package (#45622) |
compiler-cli
| Commit | Description |
|---|---|
| fix issue with incremental tracking of APIs for pipes (#45672) |
core
| Commit | Description |
|---|---|
add ApplicationRef.destroy method (#45624) |
|
implement importProvidersFrom function (#45626) |
|
| implement EnvironmentInjector with adapter to NgModuleRef (#45626) | |
| better error message when directive extends a component (#45658) | |
| improve multiple components match error (#45645) |
forms
| Commit | Description |
|---|---|
| Add a FormRecord type. (#45607) | |
| Fix a typing bug in FormBuilder. (#45684) |
http
| Commit | Description |
|---|---|
| encode + signs in query params as %2B (#11058) (#45111) |
language-service
| Commit | Description |
|---|---|
| two-way binding completion should not remove the trailing quote (#45582) |
router
| Commit | Description |
|---|---|
Add EnvironmentInjector to RouterOutlet.activateWith (#45597) |
|
| Add ability to specify providers on a Route (#45673) | |
| Remove unused string type for ActivatedRoute.component (#45625) | |
| validate lazy loaded configs (#45526) | |
| cancel the navigation instantly if at least one resolver doesn't emit any value (#45621) | |
| deprecate no longer needed resolver fields (#45597) |
Special Thanks
Adrian Kunz, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Dmitrij Kuba, Doug Parker, Dylan Hunn, George Kalpakas, Ilya Marchik, Jeremy Elbourn, Kristiyan Kostadinov, Louis Gombert, Mangalraj, Marko Kaznovac, Paul Gschwendtner, Saurabh Kamble, dario-piotrowicz and ivanwonder