Aller au contenu
verdict:

Angular 21.0.0

featured

note: la synthèse et les notes de version sont en anglais

note: pas de synthèse pour cette release plus ancienne

Nous synthétisons les releases récentes. Les notes de version originales de cette version sont ci-dessous.

release-notesgithub.com/angular/angular · 218 lignes
  1. ### common
  2. | Commit | Description |
  3. | -- | -- |
  4. | [![feat - c795960ada](https://img.shields.io/badge/c795960ada-feat-blue)](https://github.com/angular/angular/commit/c795960ada1a7e21b8bee411e20a08c700b6e385) | Add experimental support for the Navigation API (#63406) |
  5. | [![feat - 9eac43cf46](https://img.shields.io/badge/9eac43cf46-feat-blue)](https://github.com/angular/angular/commit/9eac43cf46993442e9de5764e2ccca98e3837939) | Support of optional keys for the KeyValue pipe (#48814) |
  6. | [![feat - a1868c9d13](https://img.shields.io/badge/a1868c9d13-feat-blue)](https://github.com/angular/angular/commit/a1868c9d13991d24f893499406b29a5f2e0a388b) | update to cldr 47 (#64032) |
  7. | [![fix - 196fa500a3](https://img.shields.io/badge/196fa500a3-fix-green)](https://github.com/angular/angular/commit/196fa500a3c282af5158fa2873df8e2a73243493) | properly type ngComponentOutlet (#64561) |
  8. | [![refactor - 7a4b225c57](https://img.shields.io/badge/7a4b225c57-refactor-yellow)](https://github.com/angular/angular/commit/7a4b225c57d8e390ec06731f5211d52d14da3a9c) | improve typing of `ngComponentOutletContent` (#63674) |
  9. | [![refactor - 25f593ce2a](https://img.shields.io/badge/25f593ce2a-refactor-yellow)](https://github.com/angular/angular/commit/25f593ce2a623add0cbd4ab3bb0d4987793e4f34) | remove`ngModuleFactory` input of `NgComponentOutlet` (#62838) |
  10. ### compiler
  11. | Commit | Description |
  12. | -- | -- |
  13. | [![fix - ecea909bcc](https://img.shields.io/badge/ecea909bcc-fix-green)](https://github.com/angular/angular/commit/ecea909bccc3d6a3c33e77e1feb4ad0926e72f9e) | don't choke on unbalanced parens in declaration block |
  14. | [![fix - 04dd75ba94](https://img.shields.io/badge/04dd75ba94-fix-green)](https://github.com/angular/angular/commit/04dd75ba948889601bf611254021577aba458d4c) | support arbitrary nesting in :host-context() |
  15. | [![fix - f54cc4f28a](https://img.shields.io/badge/f54cc4f28a-fix-green)](https://github.com/angular/angular/commit/f54cc4f28abb9ded190ae33619e5ca7073df08a6) | support commas in :host() argument |
  16. | [![fix - 814b2713f5](https://img.shields.io/badge/814b2713f5-fix-green)](https://github.com/angular/angular/commit/814b2713f56f94372db7e15e0a86f089a88f888d) | support complex selectors in :nth-child() |
  17. | [![fix - aad6ced0ef](https://img.shields.io/badge/aad6ced0ef-fix-green)](https://github.com/angular/angular/commit/aad6ced0ef5e535d1a6eae7c79df4e03ea73b7f2) | support one additional level of nesting in :host() |
  18. ### compiler-cli
  19. | Commit | Description |
  20. | -- | -- |
  21. | [![feat - 563dbd998c](https://img.shields.io/badge/563dbd998c-feat-blue)](https://github.com/angular/angular/commit/563dbd998c86e850b3c4dde4c7cee00d7c9d7581) | Adds diagnostic for misconfigured `@defer` triggers (#64069) |
  22. | [![feat - 0571b335b9](https://img.shields.io/badge/0571b335b9-feat-blue)](https://github.com/angular/angular/commit/0571b335b9b11459b73a19679671eae97fbe1683) | enable type checking of host bindings by default (#63654) |
  23. | [![fix - 5b55200edf](https://img.shields.io/badge/5b55200edf-fix-green)](https://github.com/angular/angular/commit/5b55200edfd12fa7dcdb6570885e0c52a9cc5ec0) | allow value to be set on radio fields |
  24. | [![fix - ab98b2425f](https://img.shields.io/badge/ab98b2425f-fix-green)](https://github.com/angular/angular/commit/ab98b2425f4c4cb59927aa686818ecee99e634c7) | capture metadata for undecorated fields (#63957) |
  25. | [![fix - be7110342b](https://img.shields.io/badge/be7110342b-fix-green)](https://github.com/angular/angular/commit/be7110342b61d837822524d4f60f56a7f859f594) | disallow compiling with the `emitDeclarationOnly` TS compiler option enabled (#61609) |
  26. | [![fix - bd322ca410](https://img.shields.io/badge/bd322ca410-fix-green)](https://github.com/angular/angular/commit/bd322ca4100c8e51df7c71377161c2c9412d1b83) | do not flag custom control required inputs as missing when field is present |
  27. | [![fix - 471da8a311](https://img.shields.io/badge/471da8a311-fix-green)](https://github.com/angular/angular/commit/471da8a311fa7f77815bdf0199943cfa50d45181) | infer type of custom field controls |
  28. | [![fix - 96cb0cffda](https://img.shields.io/badge/96cb0cffda-fix-green)](https://github.com/angular/angular/commit/96cb0cffda55516e01613958d1268872f1070722) | infer types of signal forms set on native inputs |
  29. | [![fix - 71ab11ccf0](https://img.shields.io/badge/71ab11ccf0-fix-green)](https://github.com/angular/angular/commit/71ab11ccf0f0daaffb49779d5f90b9e2da76dbd5) | make field detection logic more robust |
  30. | [![fix - 1f389b8b97](https://img.shields.io/badge/1f389b8b97-fix-green)](https://github.com/angular/angular/commit/1f389b8b97600ee382ff842e066abc2ca31c442f) | missingStructuralDirective diagnostic produces false negatives (#64579) |
  31. | [![fix - 7fd3db0423](https://img.shields.io/badge/7fd3db0423-fix-green)](https://github.com/angular/angular/commit/7fd3db04232d63f1b48ec389bbb62d9ca277fcf9) | remove internal syntax-related flags (#63787) |
  32. | [![fix - c371251e4c](https://img.shields.io/badge/c371251e4c-fix-green)](https://github.com/angular/angular/commit/c371251e4c2e7bc1ab6da7c51b05e047bdfe6068) | report invalid bindings on form controls |
  33. | [![fix - 01290ab275](https://img.shields.io/badge/01290ab275-fix-green)](https://github.com/angular/angular/commit/01290ab275599ee6887f9c2139a16f833eaa7071) | use any when checking field interface conformance |
  34. ### core
  35. | Commit | Description |
  36. | -- | -- |
  37. | [![feat - 809a4ed8c1](https://img.shields.io/badge/809a4ed8c1-feat-blue)](https://github.com/angular/angular/commit/809a4ed8c110ca930cb1c6bad309f8bfcaf7ceb8) | Add migration for zoneless by default. (#63042) |
  38. | [![feat - 2a7a5de53f](https://img.shields.io/badge/2a7a5de53f-feat-blue)](https://github.com/angular/angular/commit/2a7a5de53fd6fb5714c06c63dd1dad5718086083) | Allow passing application providers in `bootstrapModule` options (#64354) |
  39. | [![feat - 28926ba92c](https://img.shields.io/badge/28926ba92c-feat-blue)](https://github.com/angular/angular/commit/28926ba92cf3da7e45a7b8938bba49febdf58eb7) | introduce `BootstrapContext` for improved server bootstrapping (#63562) |
  40. | [![feat - c2d376b85a](https://img.shields.io/badge/c2d376b85a-feat-blue)](https://github.com/angular/angular/commit/c2d376b85aa6eea2c4d7ec3207df6767f5739945) | make SimpleChanges generic (#64535) |
  41. | [![feat - ad2376435b](https://img.shields.io/badge/ad2376435b-feat-blue)](https://github.com/angular/angular/commit/ad2376435b4bcfdb695d841272f8234ab2a7cca5) | support IntersectionObserver options in viewport triggers (#64130) |
  42. | [![feat - 539717f58a](https://img.shields.io/badge/539717f58a-feat-blue)](https://github.com/angular/angular/commit/539717f58a9bff1f8aacc857657b7df573d0bb70) | support regular expressions in templates (#63887) |
  43. | [![fix - ab415f3d7f](https://img.shields.io/badge/ab415f3d7f-fix-green)](https://github.com/angular/angular/commit/ab415f3d7f23cef8e00595e9cf6af2c8b764a8ae) | control not recognized when input has directive injecting ViewContainerRef (#64368) |
  44. | [![fix - f008045ded](https://img.shields.io/badge/f008045ded-fix-green)](https://github.com/angular/angular/commit/f008045dedc773f70dd6f1ced73e689fb4436d6d) | do not rename ARIA property bindings to attributes (#63925) |
  45. | [![fix - 1352fbdbf2](https://img.shields.io/badge/1352fbdbf2-fix-green)](https://github.com/angular/angular/commit/1352fbdbf2542c39715045c7a6c0f6aa41516b02) | Drop special-case disables automatic change detection scheduling (#63846) |
  46. | [![fix - c0791e1887](https://img.shields.io/badge/c0791e1887-fix-green)](https://github.com/angular/angular/commit/c0791e1887590b862bfed9333c5c90be3ac487d0) | drop support for TypeScript 5.8 (#63589) |
  47. | [![fix - aa389a691b](https://img.shields.io/badge/aa389a691b-fix-green)](https://github.com/angular/angular/commit/aa389a691bc2e5726a0ded73d30962c29faab680) | ensure `@for` iteration over field is reactive (#64113) |
  48. | [![fix - fec7c288e9](https://img.shields.io/badge/fec7c288e9-fix-green)](https://github.com/angular/angular/commit/fec7c288e96dd32f5861124384dbef4d5350d437) | Error on invalid APP_ID (#63252) |
  49. | [![fix - d399d7d02b](https://img.shields.io/badge/d399d7d02b-fix-green)](https://github.com/angular/angular/commit/d399d7d02b66c485cc5479dabd349d017a002692) | Explicit Zone CD in TestBed providers should not override TestBed error handler (#63404) |
  50. | [![fix - 92e09adc0a](https://img.shields.io/badge/92e09adc0a-fix-green)](https://github.com/angular/angular/commit/92e09adc0a191ec599915e20b0835bf455bc572b) | Remove ignoreChangesOutsideZone option (#62700) |
  51. | [![fix - 45fed3d201](https://img.shields.io/badge/45fed3d201-fix-green)](https://github.com/angular/angular/commit/45fed3d2011bf6feffa8ee1365a5c88d603f826c) | Remove Zone-based change provider from internals by default (#63382) |
  52. | [![fix - c9f977833e](https://img.shields.io/badge/c9f977833e-fix-green)](https://github.com/angular/angular/commit/c9f977833ebed6f89afd38f65c03e9b3808f2b07) | skip Angular formatting when formatting signals recursively |
  53. | [![fix - 67fbd5ff1e](https://img.shields.io/badge/67fbd5ff1e-fix-green)](https://github.com/angular/angular/commit/67fbd5ff1eef80d98e5e9c633a15bb1ae27134bb) | SSR error in signal forms |
  54. | [![fix - c241038111](https://img.shields.io/badge/c241038111-fix-green)](https://github.com/angular/angular/commit/c241038111cf602669dd68ef516f147889ab02e5) | update symbols (#64481) |
  55. | [![refactor - a5e5dbbc16](https://img.shields.io/badge/a5e5dbbc16-refactor-yellow)](https://github.com/angular/angular/commit/a5e5dbbc16f605cce6dd72a82ddb9110e655a89b) | remove `moduleId` from Component metadata (#63482) |
  56. | [![refactor - 9a16718b13](https://img.shields.io/badge/9a16718b13-refactor-yellow)](https://github.com/angular/angular/commit/9a16718b13a03df2941c31cb968dcbfa6904a481) | remove deprecated `interpolation` option on Components. (#63474) |
  57. ### elements
  58. | Commit | Description |
  59. | -- | -- |
  60. | [![fix - be0455adda](https://img.shields.io/badge/be0455adda-fix-green)](https://github.com/angular/angular/commit/be0455adda7d92f741105b3599e7922f099cc024) | return value on signal input getter (#62113) |
  61. ### forms
  62. | Commit | Description |
  63. | -- | -- |
  64. | [![feat - a278ee358c](https://img.shields.io/badge/a278ee358c-feat-blue)](https://github.com/angular/angular/commit/a278ee358c4d111cf29eb8d3d8eb1fe1799c8495) | add `debounce()` rule for signal forms |
  65. | [![feat - b8314bd340](https://img.shields.io/badge/b8314bd340-feat-blue)](https://github.com/angular/angular/commit/b8314bd3409500b8540d1ce00a330fdb2f0fc83a) | add experimental signal-based forms (#63408) |
  66. | [![feat - 0dd95c503f](https://img.shields.io/badge/0dd95c503f-feat-blue)](https://github.com/angular/angular/commit/0dd95c503f4b07b478e505b99aaa63419a340095) | Add FormArrayDirective (#55880) |
  67. | [![feat - d201cd2c2b](https://img.shields.io/badge/d201cd2c2b-feat-blue)](https://github.com/angular/angular/commit/d201cd2c2bdb418fd1b595320855c35eb91e1e5b) | Prevents marking fields as touched/dirty when state is hidden/readonly/disabled (#63633) |
  68. | [![fix - 9c5e969f51](https://img.shields.io/badge/9c5e969f51-fix-green)](https://github.com/angular/angular/commit/9c5e969f51448aad05a7e0ac83143b4b5ae477b4) | bind invalid input in custom controls (#64526) |
  69. | [![fix - 10ef96adb3](https://img.shields.io/badge/10ef96adb3-fix-green)](https://github.com/angular/angular/commit/10ef96adb3d989781c7ec5116a70b6518866ee27) | consistent treatment of empty (#63456) |
  70. | [![fix - d89e522a1f](https://img.shields.io/badge/d89e522a1f-fix-green)](https://github.com/angular/angular/commit/d89e522a1f07c4b2ac7fd2b926ae44658f9394d4) | debounce updates from interop controls |
  71. | [![fix - c0d88c37c9](https://img.shields.io/badge/c0d88c37c9-fix-green)](https://github.com/angular/angular/commit/c0d88c37c983991236177a0337f5cab75054abf7) | Emit `FormResetEvent` when resetting control (#64024) |
  72. | [![fix - 94b0afec00](https://img.shields.io/badge/94b0afec00-fix-green)](https://github.com/angular/angular/commit/94b0afec0007f0f5142a39def2849a1ba9e5030d) | implement interoperability between signal forms and reactive forms (#64471) |
  73. | [![fix - a1ac9a6415](https://img.shields.io/badge/a1ac9a6415-fix-green)](https://github.com/angular/angular/commit/a1ac9a64154c0a9206e11343b195f287dba3425d) | interop supports CVAs with signals (#64618) |
  74. | [![fix - 505bde1fed](https://img.shields.io/badge/505bde1fed-fix-green)](https://github.com/angular/angular/commit/505bde1fede95ec907c6b028db4b3c9237899f30) | mark field as dirty when value is changed by `ControlValueAccessor` (#64471) |
  75. | [![fix - 3529877772](https://img.shields.io/badge/3529877772-fix-green)](https://github.com/angular/angular/commit/3529877772f7a777d467c99e3d95b465b1b1d82c) | mark field as dirty when value is changed by a bound control (#64483) |
  76. | [![fix - fd9af2afaf](https://img.shields.io/badge/fd9af2afaf-fix-green)](https://github.com/angular/angular/commit/fd9af2afaf6c239bbbba50f2f016ecf9b83133c4) | only propagate schema defined properties from field to control (#64446) |
  77. | [![fix - 91d8d55a80](https://img.shields.io/badge/91d8d55a80-fix-green)](https://github.com/angular/angular/commit/91d8d55a80a1d1894827ef06e38e56de6e661575) | Set error message of a schema error. |
  78. | [![fix - f4d1017c25](https://img.shields.io/badge/f4d1017c25-fix-green)](https://github.com/angular/angular/commit/f4d1017c25813b290697d8e1a829983a7b1bca27) | test that common field states are propagated to controls (#63884) |
  79. | [![fix - acd7c83597](https://img.shields.io/badge/acd7c83597-fix-green)](https://github.com/angular/angular/commit/acd7c83597ad376ec9a48421b3b291951ca2d75e) | test that min/max properties are propagated to controls (#63884) |
  80. | [![fix - 71e8672837](https://img.shields.io/badge/71e8672837-fix-green)](https://github.com/angular/angular/commit/71e8672837eb6c2da2570eb2341e896fbf7ca5a3) | test that minLength/maxLength properties are propagated to controls (#63884) |
  81. | [![perf - 507b3466ee](https://img.shields.io/badge/507b3466ee-perf-orange)](https://github.com/angular/angular/commit/507b3466eec648a706f10d2805e67e53522e9654) | implement change detection for field control bindings |
  82. | [![perf - 781a3299f9](https://img.shields.io/badge/781a3299f9-perf-orange)](https://github.com/angular/angular/commit/781a3299f9e16e16902f12f7e7c80c10f15f788a) | only update interop controls when bound field changes |
  83. | [![perf - 32f86d35f7](https://img.shields.io/badge/32f86d35f7-perf-orange)](https://github.com/angular/angular/commit/32f86d35f7cd177b6e4525a7ae97909888d9fee4) | optimize `[field]` binding instructions (#64351) |
  84. ### http
  85. | Commit | Description |
  86. | -- | -- |
  87. | [![feat - 2739b7975b](https://img.shields.io/badge/2739b7975b-feat-blue)](https://github.com/angular/angular/commit/2739b7975ba40a8cfc3b00f0c444a3a147f7f553) | add referrerPolicy option to HttpResource (#64283) |
  88. | [![feat - 07e678872f](https://img.shields.io/badge/07e678872f-feat-blue)](https://github.com/angular/angular/commit/07e678872f91236f5c258f98a7aea536b5a200ac) | Add reponseType property to HttpResponse and HttpErrorResponse (#63043) |
  89. | [![feat - 5cbdefcf11](https://img.shields.io/badge/5cbdefcf11-feat-blue)](https://github.com/angular/angular/commit/5cbdefcf118e9c228bc887be30114afc84a4db2a) | add support for fetch referrerPolicy option in HttpClient (#64116) |
  90. | [![feat - 4bed062bc9](https://img.shields.io/badge/4bed062bc9-feat-blue)](https://github.com/angular/angular/commit/4bed062bc9f2a0a66c9af3cb8aeb42ee023c6393) | Provide http services in root (#56212) |
  91. | [![refactor - 0e4e17cd97](https://img.shields.io/badge/0e4e17cd97-refactor-yellow)](https://github.com/angular/angular/commit/0e4e17cd97d7a5f7ccc40405ba2103a78e1e1298) | `HttpResponseBase.statusText` (#64176) |
  92. ### language-server
  93. | Commit | Description |
  94. | -- | -- |
  95. | [![fix - 3f7111a9c3](https://img.shields.io/badge/3f7111a9c3-fix-green)](https://github.com/angular/angular/commit/3f7111a9c38c6fd00af705a3045f2909f47b505b) | fix directory renaming on Windows |
  96. ### language-service
  97. | Commit | Description |
  98. | -- | -- |
  99. | [![fix - 89095946cf](https://img.shields.io/badge/89095946cf-fix-green)](https://github.com/angular/angular/commit/89095946cff051c5613b8f54ec722d08cd47c709) | address potential memory leak during project creation |
  100. | [![fix - 80e00ff4e5](https://img.shields.io/badge/80e00ff4e5-fix-green)](https://github.com/angular/angular/commit/80e00ff4e5833c35e19cfca271dff51121108333) | prevent interpolation from superseding block braces (#64392) |
  101. ### migrations
  102. | Commit | Description |
  103. | -- | -- |
  104. | [![feat - 6ddb250391](https://img.shields.io/badge/6ddb250391-feat-blue)](https://github.com/angular/angular/commit/6ddb2503913fa8698a0e07e88ce49598cc7af481) | add migration to convert ngClass to use class (#62983) |
  105. | [![feat - 8dc8914c8a](https://img.shields.io/badge/8dc8914c8a-feat-blue)](https://github.com/angular/angular/commit/8dc8914c8a2be44e30b512670628a558bdd7f1f4) | add migration to convert ngStyle to use style (#63517) |
  106. | [![feat - 861cee34e0](https://img.shields.io/badge/861cee34e0-feat-blue)](https://github.com/angular/angular/commit/861cee34e0e9b5562cfe70d245f30b7ddea7d8fd) | Adds migration for deprecated router testing module (#64217) |
  107. | [![feat - 75fc16b261](https://img.shields.io/badge/75fc16b261-feat-blue)](https://github.com/angular/angular/commit/75fc16b261de5312c60834330680052f07138480) | Adds support for CommonModule to standalone migration (#64138) |
  108. | [![fix - 655a99d0c6](https://img.shields.io/badge/655a99d0c6-fix-green)](https://github.com/angular/angular/commit/655a99d0c60f70bbc14968133cfe6ab251cedc92) | fix bug in ngclass-to-class migration (#63617) |
  109. | [![fix - 62bbce63b7](https://img.shields.io/badge/62bbce63b7-fix-green)](https://github.com/angular/angular/commit/62bbce63b7abcb22f1fd453c59e0063aae3b189c) | remove error for no matching files in control flow migration (#64253) |
  110. ### platform-browser
  111. | Commit | Description |
  112. | -- | -- |
  113. | [![refactor - ce8db665f9](https://img.shields.io/badge/ce8db665f9-refactor-yellow)](https://github.com/angular/angular/commit/ce8db665f984005264de0eb8b452370972823c17) | remove deprecated `ApplicationConfig` export (#63529) |
  114. ### router
  115. | Commit | Description |
  116. | -- | -- |
  117. | [![feat - 4e0fc81491](https://img.shields.io/badge/4e0fc81491-feat-blue)](https://github.com/angular/angular/commit/4e0fc81491bfe6e4eac5c59ef0bde908a3d58413) | convert `lastSuccessfulNavigation` to signal (#63057) |
  118. | [![fix - 5e61e8d3c3](https://img.shields.io/badge/5e61e8d3c3-fix-green)](https://github.com/angular/angular/commit/5e61e8d3c3a80b21116e3188805de556e4f0c496) | Fix memory leak through Navigation.abort and canDeactivate guards (#64141) |
  119. | [![fix - f6a73f1913](https://img.shields.io/badge/f6a73f1913-fix-green)](https://github.com/angular/angular/commit/f6a73f19131b2befa74f4ea3f941038603958ac0) | Respect custom `UrlSerializer` handling of query parameters (#64449) |
  120. | [![fix - 5b53535dd1](https://img.shields.io/badge/5b53535dd1-fix-green)](https://github.com/angular/angular/commit/5b53535dd16af7d3ea7b0216984560fd2223d76c) | Update recognize stage to use internally async/await (#62994) |
  121. ### upgrade
  122. | Commit | Description |
  123. | -- | -- |
  124. | [![fix - f86846555b](https://img.shields.io/badge/f86846555b-fix-green)](https://github.com/angular/angular/commit/f86846555bba44b2fb71d012fe4eebf82a0f5d00) | Remove deprecated UpgradeAdapter (#61659) |
  125. ## Breaking Changes
  126. ### common
  127. - (test only) - `TestBed` now provides a fake `PlatformLocation`
  128. implementation that supports the Navigation API. This may break some
  129. tests, though we have not observed any failures internally. You can revert to the
  130. old default for `TestBed` by providing the `MockPlatformLocation` from
  131. `@angular/common/testing` in your providers:
  132. `{provide: PlatformLocation, useClass: MockPlatformLocation}`
  133. - `ngComponentOutletContent` is now of type `Node[][] | undefined` instead of `any[][] | undefined`.
  134. - NgModuleFactory has been removed, use NgModule instead.
  135. ### compiler-cli
  136. - * Previously hidden type issues in host bindings may show up in your builds. Either resolve the type issues or set `"typeCheckHostBindings": false` in the `angularCompilerOptions` section of your tsconfig.
  137. - The Angular compiler now produces an error when the
  138. the `emitDeclarationOnly` TS compiler option is enabled as this mode is
  139. not supported.
  140. ### core
  141. - The server-side bootstrapping process has been changed to eliminate the reliance on a global platform injector.
  142. Before:
  143. ```ts
  144. const bootstrap = () => bootstrapApplication(AppComponent, config);
  145. ```
  146. After:
  147. ```ts
  148. const bootstrap = (context: BootstrapContext) =>
  149. bootstrapApplication(AppComponent, config, context);
  150. ```
  151. A schematic is provided to automatically update `main.server.ts` files to pass the `BootstrapContext` to the `bootstrapApplication` call.
  152. In addition, `getPlatform()` and `destroyPlatform()` will now return `null` and be a no-op respectively when running in a server environment.
  153. - Using a combination of `provideZoneChangeDetection`
  154. while also removing ZoneJS polyfills will no longer result in the
  155. internal scheduler being disabled. All Angular applications now
  156. consistenly use the same scheduler, and those with the Zone change detection
  157. provider include additional automatic scheduling behaviors based on
  158. NgZone stabilization.
  159. - * TypeScript versions less than 5.9 are no longer supported.
  160. - (test only) - Using `provideZoneChangeDetection` in the
  161. TestBed providers would previously prevent `TestBed` from rethrowing
  162. errors as it should. Errors in the test will now be rethrown, regardless
  163. of the usage of `provideZoneChangeDetection`. Tests should be adjusted to
  164. prevent or account for these errors. As in previous major versions,
  165. this behavior can be disabled with `rethrowApplicationErrors: false` in
  166. `configureTestingModule` as a last resort.
  167. - `ignoreChangesOutsideZone` is no longer available as an
  168. option for configuring ZoneJS change detection behavior.
  169. - Angular no longer provides a change detection scheduler
  170. for ZoneJS-based change detection by default. Add
  171. `provideZoneChangeDetection` to the providers of your
  172. `bootstrapApplication` function or your `AppModule` (if using
  173. `bootstrapModule`). This provider addition will be covered by an
  174. automated migration.
  175. - `moduleId` was removed from `Component` metadata.
  176. - The `interpolation` option on Components has been removed. Only the default `{{ ... }}` is now supported.
  177. ### elements
  178. - Fix signal input getter behavior in custom elements.
  179. Before this change, signal inputs in custom elements required function calls to access their values (`elementRef.newInput()`), while decorator inputs were accessed directly (`elementRef.oldInput`). This inconsistency caused confusion and typing difficulties.
  180. The getter behavior has been standardized so signal inputs can now be accessed directly, matching the behavior of decorator inputs:
  181. Before:
  182. - Decorator Input: `elementRef.oldInput`
  183. - Signal Input: `elementRef.newInput()`
  184. After:
  185. - Decorator Input: `elementRef.oldInput`
  186. - Signal Input: `elementRef.newInput`
  187. ### forms
  188. - This new directive will conflict with existing FormArray directives or formArray inputs on the same element.
  189. ### platform-browser
  190. - The deprecated `ApplicationConfig` export from `@angular/platform-browser` has been removed.
  191. Please import `ApplicationConfig` from `@angular/core` instead.
  192. ### router
  193. - `lastSuccessfulNavigation` is now a signal and needs to be invoked
  194. - Router navigations may take several additional
  195. microtasks to complete. Tests have been found to often be highly
  196. dependent on the exact timing of navigation completions with respect to
  197. the microtask queue. The most common fix for tests is to ensure all
  198. navigations have been completed before making assertions. On rare
  199. occasions, this can also affect production applications. This can be
  200. caused by multiple subscriptions to router state throughout the application,
  201. both of which trigger navigations that happened to not conflict with the
  202. previous timing.
  203. ### upgrade
  204. - `UpgradeAdapter` is no longer available. Use
  205. `upgrade/static` instead
  206. ### zone.js
  207. - IE/Non-Chromium Edge are not supported anymore.
  208. ## Deprecations
  209. ### http
  210. - `HttpResponseBase.statusText` is deprecated

voir sur githubimported 2026-09-28 via npm