Angular CLI: 17.0.0 Release

Release date:
November 8, 2023
Previous version:
17.0.0-rc.5 (released November 7, 2023)
Magnitude:
1 Diff Delta
Contributors:
1 total committer
Data confidence:
Commits:

Top Contributors in 17.0.0

alan-agius4

Directory Browser for 17.0.0

All files are compared to previous version, 17.0.0-rc.5. Click here to browse diffs between other versions.

Loading File Browser...

Release Notes Published

@angular/cli

| Commit | Description | | -- | -- | | fix - f4e7fa873 | add @angular/ssr as part of the ng update packageGroup | | fix - 1f7156b11 | add Node.js 20 as supported version | | fix - 4b9a87c90 | ignore peer mismatch when updating @nguniversal/builders | | fix - f66f9cf61 | remove Node.js 16 from supported checks |

@schematics/angular

| Commit | Description | | -- | -- | | feat - 741cca73c | add ng new --ssr | | feat - 3938863b9 | add migration to migrate from @nguniversal to @angular/ssr | | feat - dc6b6eaf6 | add migration to replace usages of @nguniversal/builders | | feat - 6979eba3c | enable hydration when adding SSR, SSG or AppShell | | feat - 1a6a139aa | enable routing by default for new applications | | feat - ac0db6697 | enable standalone by default in new applications | | feat - a189962a5 | generate functional interceptors by default | | feat - ae45c4ab8 | update ng new generated application | | feat - 3f8aa9d8c | updateng new to use the esbuild application builder based builder | | fix - 03a1eaf01 | account for new block syntax in starter template | | fix - eb0fc7434 | add missing express REQUEST and RESPONSE tokens | | fix - ecdcff2db | add missing icons in ng-new template | | fix - 175944672 | do not add unnecessary dependency on @angular/ssr during migration | | fix - 23c4c5e42 | enable TypeScript esModuleInterop by default for ESM compliance | | fix - d60a6e86a | noop workspace config migration when already executed | | fix - e516a4bdb | pass ssr option to application schematics | | fix - 419b5c191 | remove baseUrl from tsconfig.json | | fix - 0368b23f2 | use @types/node v18 | | refactor - b15e82758 | remove deprecated appId option |

@angular-devkit/build-angular

| Commit | Description | | -- | -- | | feat - c48982dc1 | add buildTarget option to dev-server and extract-i18n builders | | feat - 1fb0350eb | add initial support for bundle budgets to esbuild builders | | feat - 8168ae2a8 | apply global CSS updates without a live-reload when using vite | | feat - 91019bde2 | enable localize support for SSR with application builder | | feat - 3c0719bde | initial i18n extraction support for application builder | | feat - 8bce80b91 | initial support for application Web Worker discovery with esbuild | | feat - 49f07a84d | standardize application builder output structure | | feat - c3a87a60e | support basic web worker bundling with esbuild builders | | feat - 9e425308a | support component style budgets in esbuild builders | | feat - 771e036d5 | support deploy URL option for browser-esbuild builder | | feat - c5f3ec71f | support i18n inlining with esbuild-based builder | | feat - fd62a9315 | support i18n with service worker and app-shell with esbuild builders | | feat - 5898f72a9 | support namedChunks option in application builder | | feat - 8f9a0d70c | support standalone apps route discovery during prerendering | | fix - 6b08efa6f | account for arrow function IIFE | | fix - 2f299fc7b | account for styles specified as string literals and styleUrl | | fix - 9994b2dde | add a maximum rendering timeout for SSR and SSG during development | | fix - da4e19145 | address a path concatenation on Windows | | fix - 9d4d11cc4 | allow SSR compilation to work with TS allowJs option | | fix - e3c5b91e8 | automatically include known packages in vite prebundling | | fix - ca38ee34c | avoid binary content in architect results with browser-esbuild | | fix - 657f78292 | avoid dev server update analysis when build fails with vite | | fix - 2c33f09db | avoid dev-server proxy rewrite normalization when invalid value | | fix - b182be8aa | avoid in-memory prerendering ESM loader errors | | fix - 0c982b993 | avoid repeat error clear in vite development server | | fix - e41e2015b | avoid spawning workers when there are no routes to prerender | | fix - 2d2e79921 | clean up internal Angular state during rendering SSR | | fix - 83020fc32 | clear diagnostic cache when external templates change with esbuild builders | | fix - c12f98f94 | conditionally enable deprecated Less stylesheet JavaScript support | | fix - e10f49efa | convert AOT compiler exceptions into diagnostics | | fix - 667f43af6 | correctly resolve polyfills when baseUrl URL is not set to root | | fix - d46fb128a | disable dependency optimization for SSR | | fix - 1b384308c | disable parallel TS/NG compilation inside WebContainers | | fix - 070da72c4 | do not perform advanced optimizations on @angular/common/locales/global | | fix - 508c7606e | do not print Angular is running in development mode. in the server console when running prerender in dev mode | | fix - e817656f6 | do not print Angular is running in development mode. in the server console when running prerender in dev mode | | fix - f806e3498 | elide setClassDebugInfo calls | | fix - 188a00f3e | elide setClassMetadataAsync calls | | fix - 05ce9d697 | ensure all SSR chunks are resolved correctly with dev server | | fix - d392d653c | ensure correct web worker URL resolution in vite dev server | | fix - 1a6aa4378 | ensure css url() prefix warnings support Sass rebasing | | fix - 52f595655 | ensure i18n locale data is included in SSR application builds | | fix - 3ad028bb4 | ensure localize polyfill and locale specifier are injected when not inlining | | fix - 3e5a99c2c | ensure recalculation of component diagnostics when template changes | | fix - fa234a418 | ensure secondary Angular compilations are unblocked on start errors | | fix - c0c7dad77 | ensure that externalMetadata is defined | | fix - ac7caa426 | ensure unique internal identifiers for inline stylesheet bundling | | fix - 1f73bcc49 | ensure Web Worker code file is replaced in esbuild builders | | fix - 23a722b79 | exclude node.js built-ins from vite dependency optimization | | fix - fd2c4c324 | expose ssr-dev-server builder in the public api | | fix - 9eb58cf7a | fail build on non bundling error when using the esbuild based builders | | fix - a3e9efe80 | fully track Web Worker file changes in watch mode | | fix - b9505ed09 | generate a file containing a list of prerendered routes | | fix - 192a2ae6b | handle HTTP requests to assets during prerendering | | fix - 19191e32b | handle HTTP requests to assets during SSG in dev-server | | fix - 8981d8c35 | improve sharing of TypeScript compilation state between various esbuild instances during rebuilds | | fix - 5a3ae0159 | in vite skip SSR middleware for path with extensions | | fix - f87f22d3f | keep dependencies pre-bundling validate between builds | | fix - 0da87bf1c | limit concurrent output file writes with application builder | | fix - 391ff78cb | log number of prerendered routes in console | | fix - c46f312ad | media files download files in vite | | fix - 87425a791 | normalize paths when invalidating stylesheet bundler | | fix - d4f37da50 | only show changed output files in watch mode with esbuild | | fix - 0d54f2d20 | only watch used files with application builder | | fix - 1f299ff2d | prebundle dependencies for SSR when using Vite | | fix - 58bd3971f | process nested tailwind usage in application builder | | fix - 60ca3c82d | provide server baseUrl result property in Vite-based dev server | | fix - 0c20cc4dc | re-add TestBed compileComponents in schematics to support defer block testing | | fix - 9453a2380 | remove CJS usage warnings for inactionable packages | | fix - 5bf7022c4 | remove support for Node.js v16 | | fix - c27ad719f | remove unactionable error overlay suggestion from Vite-based dev server | | fix - 263271fae | resolve and load sourcemaps during prerendering to provide better stacktraces | | fix - 651e3195f | resolve and load sourcemaps when using vite dev server with prerendering and ssr | | fix - b78508fc8 | several fixes to assets and files writes in browser-esbuild builder | | fix - c4c299bce | silence xhr2 not ESM module warning | | fix - f7f6e97d0 | skip checking CommonJS module descendants | | fix - c11a0f0d3 | support custom index option paths in Vite-based dev server | | fix - 6c3d7d1c1 | update ssr option definition | | fix - 4e89c3cae | use a dash in bundle names | | fix - 83b4b2567 | use browserslist when processing global scripts in application builder | | fix - ca4d1634f | use component style load result caching information for file watching | | fix - 34947fc64 | use incremental component style bundling only in watch mode | | fix - ec160fe4e | warn if using partial mode with application builder | | fix - 559e89159 | Windows Node.js 20 prerendering failure (#26186) | | perf - 2cbec36c7 | cache polyfills virtual module result | | perf - e06e95f73 | conditionally add Angular compiler plugin to polyfills bundling | | perf - 61f409cbe | disable ahead of time prerendering in vite dev-server | | perf - 01ab16c5d | fully avoid rebuild of component stylesheets when unchanged | | perf - 99d9037ee | only perform a server build when either prerendering, app-shell or ssr is enabled | | perf - c013a95e2 | only rebundle browser polyfills on explicit changes | | perf - e68a662bc | only rebundle global scripts/styles on explicit changes | | perf - 28d9ab88f | only rebundle server polyfills on explicit changes | | perf - 6d3942723 | optimize server or browser only dependencies once | | perf - 2e8e9d802 | patch fetch to load assets from memory | | perf - 49fe74e24 | reduce CLI loading times by removing critters from critical path | | perf - 07e2120da | remove JavaScript transformer from server polyfills bundling | | perf - c28475d30 | reuse esbuild generated output file hashes | | perf - 59c22aa4c | start SSR dependencies optimization before the first request | | perf - 223a82f5f | use incremental bundling for component styles in esbuild builders | | perf - 4b67d2afd | use single JS transformer instance during dev-server prebundling |

@angular-devkit/schematics

| Commit | Description | | -- | -- | | refactor - f600bbc97 | remove deprecated runExternalSchematicAsync and runSchematicAsync |

@angular/pwa

| Commit | Description | | -- | -- | | fix - 81e4917ce | replace Angular logos |

@angular/ssr

| Commit | Description | | -- | -- | | feat - dcf3fddff | add performance profiler to CommonEngine | | fix - 6224b0599 | correctly set config URL | | fix - 8d033841d | enable prerender and ssr for all build configuration | | fix - ee0991bed | enable performance profiler option name |

@ngtools/webpack

| Commit | Description | | -- | -- | | feat - f43754570 | add automated preconnects for image domains | | fix - 4fe03266a | account for arrow function IIFE | | fix - 828030da0 | account for styles specified as string literals and styleUrl | | fix - 16428fc97 | adjust static scan to find image domains in standlone components | | fix - 486becdbb | remove setClassDebugInfo calls | | fix - 89f21ac8c | remove setClassMetadataAsync calls | | fix - 8899fb9e3 | skip transforming empty inline styles in Webpack JIT compilations |

Breaking Changes

@schematics/angular

  • Routing is enabled by default for new applications when using ng generate application and ng new. The --no-routing command line option can be used to disable this behaviour.
  • ng g interceptor now generate a functional interceptor by default. or guard by default. To generate a class-based interceptor the --no-functional command flag should be used.
  • rootModuleClassName, rootModuleFileName and main options have been removed from the public pwa and app-shell schematics.
  • App-shell and Universal schematics deprecated unused appId option has been removed. ### @angular-devkit/build-angular
  • Node.js v16 support has been removed

Node.js v16 is planned to be End-of-Life on 2023-09-11. Angular will stop supporting Node.js v16 in Angular v17. For Node.js release schedule details, please see: https://github.com/nodejs/release#release-schedule

@angular-devkit/schematics

  • deprecated runExternalSchematicAsync and runSchematicAsync methods have been removed in favor of runExternalSchematic and runSchematic. ## Deprecations ###
  • StateTransferInitializerModule, TransferHttpCacheInterceptor and domContentLoadedFactory have been deprecated in favor of provideClientHydration. See: https://angular.io/api/platform-browser/provideClientHydration ### @angular-devkit/build-angular
  • The browserTarget in the dev-server and extract-i18n builders have been deprecated in favor of buildTarget.