Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@angular-devkit/schematics

angular26.4mMIT19.1.3TypeScript support: included

Angular Schematics - Library

Angular CLI, Angular DevKit, angular, blueprints, code generation, devkit, scaffolding, schematics, sdk, template, tooling

readme

Schematics

A scaffolding library for the modern web.

Description

Schematics are generators that transform an existing filesystem. They can create files, refactor existing files, or move files around.

What distinguishes Schematics from other generators, such as Yeoman or Yarn Create, is that schematics are purely descriptive; no changes are applied to the actual filesystem until everything is ready to be committed. There is no side effect, by design, in Schematics.

Glossary

Term Description
Schematics A generator that executes descriptive code without side effects on an existing file system.
Collection A list of schematics metadata. Schematics can be referred by name inside a collection.
Tool The code using the Schematics library.
Tree A staging area for changes, containing the original file system, and a list of changes to apply to it.
Rule A function that applies actions to a Tree. It returns a new Tree that will contain all transformations to be applied.
Source A function that creates an entirely new Tree from an empty filesystem. For example, a file source could read files from disk and create a Create Action for each of those.
Action An atomic operation to be validated and committed to a filesystem or a Tree. Actions are created by schematics.
Sink The final destination of all Actions.
Task A Task is a way to execute an external command or script in a schematic. A Task can be used to perform actions such as installing dependencies, running tests, or building a project. A Task is created by using the SchematicContext object and can be scheduled to run before or after the schematic Tree is applied.

Tooling

Schematics is a library, and does not work by itself. A reference CLI is available on this repository, and is published on NPM at @angular-devkit/schematics-cli. This document explains the library usage and the tooling API, but does not go into the tool implementation itself.

The tooling is responsible for the following tasks:

  1. Create the Schematic Engine, and pass in a Collection and Schematic loader.
  2. Understand and respect the Schematics metadata and dependencies between collections. Schematics can refer to dependencies, and it's the responsibility of the tool to honor those dependencies. The reference CLI uses NPM packages for its collections.
  3. Create the Options object. Options can be anything, but the schematics can specify a JSON Schema that should be respected. The reference CLI, for example, parses the arguments as a JSON object and validates it with the Schema specified by the collection.
  4. Schematics provides some JSON Schema formats for validation that tooling should add. These validate paths, html selectors and app names. Please check the reference CLI for how these can be added.
  5. Call the schematics with the original Tree. The tree should represent the initial state of the filesystem. The reference CLI uses the current directory for this.
  6. Create a Sink and commit the result of the schematics to the Sink. Many sinks are provided by the library; FileSystemSink and DryRunSink are examples.
  7. Output any logs propagated by the library, including debugging information.

The tooling API is composed of the following pieces:

Engine

The SchematicEngine is responsible for loading and constructing Collections and Schematics. When creating an engine, the tooling provides an EngineHost interface that understands how to create a CollectionDescription from a name, and how to create a SchematicDescription.

Schematics (Generators)

Schematics are generators and part of a Collection.

Collection

A Collection is defined by a collection.json file (in the reference CLI). This JSON defines the following properties:

Prop Name Type Description
name string The name of the collection.
version string Unused field.

Schematic

Operators, Sources and Rules

A Source is a generator of a Tree; it creates an entirely new root tree from nothing. A Rule is a transformation from one Tree to another. A Schematic (at the root) is a Rule that is normally applied on the filesystem.

Operators

FileOperators apply changes to a single FileEntry and return a new FileEntry. The result follows these rules:

  1. If the FileEntry returned is null, a DeleteAction will be added to the action list.
  2. If the path changed, a RenameAction will be added to the action list.
  3. If the content changed, an OverwriteAction will be added to the action list.

It is impossible to create files using a FileOperator.

Provided Operators

The Schematics library provides multiple Operator factories by default that cover basic use cases:

FileOperator Description
contentTemplate<T>(options: T) Apply a content template (see the Templating section)
pathTemplate<T>(options: T) Apply a path template (see the Templating section)

Provided Sources

The Schematics library additionally provides multiple Source factories by default:

Source Description
empty() Creates a source that returns an empty Tree.
source(tree: Tree) Creates a Source that returns the Tree passed in as argument.
url(url: string) Loads a list of files from the given URL and returns a Tree with the files as CreateAction applied to an empty Tree.
apply(source: Source, rules: Rule[]) Apply a list of Rules to a source, and return the resulting Source.

Provided Rules

The schematics library also provides Rule factories by default:

Rule Description
noop() Returns the input Tree as is.
chain(rules: Rule[]) Returns a Rule that's the concatenation of other Rules.
forEach(op: FileOperator) Returns a Rule that applies an operator to every file of the input Tree.
move(root: string) Moves all the files from the input to a subdirectory.
merge(other: Tree) Merge the input Tree with the other Tree.
contentTemplate<T>(options: T) Apply a content template (see the Template section) to the entire Tree.
pathTemplate<T>(options: T) Apply a path template (see the Template section) to the entire Tree.
template<T>(options: T) Apply both path and content templates (see the Template section) to the entire Tree.
filter(predicate: FilePredicate<boolean>) Returns the input Tree with files that do not pass the FilePredicate.

Templating

As referenced above, some functions are based upon a file templating system, which consists of path and content templating.

The system operates on placeholders defined inside files or their paths as loaded in the Tree and fills these in as defined in the following, using values passed into the Rule which applies the templating (i.e. template<T>(options: T)).

Path Templating

Placeholder Description
__variable__ Replaced with the value of variable.
__variable@function__ Replaced with the result of the call function(variable). Can be chained to the left (__variable@function1@function2__ etc).

Content Templating

Placeholder Description
<%= expression %> Replaced with the result of the call of the given expression. This only supports direct expressions, no structural (for/if/...) JavaScript.
<%- expression %> Same as above, but the value of the result will be escaped for HTML when inserted (i.e. replacing '<' with '<')
<% inline code %> Inserts the given code into the template structure, allowing to insert structural JavaScript.
<%# text %> A comment, which gets entirely dropped.

Examples

Simple

An example of a simple Schematics which creates a "hello world" file, using an option to determine its path:

import { Tree } from '@angular-devkit/schematics';

export default function MySchematic(options: any) {
  return (tree: Tree) => {
    tree.create(options.path + '/hi', 'Hello world!');
    return tree;
  };
}

A few things from this example:

  1. The function receives the list of options from the tooling.
  2. It returns a Rule, which is a transformation from a Tree to another Tree.

Templating

A simplified example of a Schematics which creates a file containing a new Class, using an option to determine its name:

// files/__name@dasherize__.ts

export class <%= classify(name) %> {
}
// index.ts

import { strings } from '@angular-devkit/core';
import {
  Rule,
  SchematicContext,
  SchematicsException,
  Tree,
  apply,
  branchAndMerge,
  mergeWith,
  template,
  url,
} from '@angular-devkit/schematics';
import { Schema as ClassOptions } from './schema';

export default function (options: ClassOptions): Rule {
  return (tree: Tree, context: SchematicContext) => {
    if (!options.name) {
      throw new SchematicsException('Option (name) is required.');
    }

    const templateSource = apply(url('./files'), [
      template({
        ...strings,
        ...options,
      }),
    ]);

    return branchAndMerge(mergeWith(templateSource));
  };
}

Additional things from this example:

  1. strings provides the used dasherize and classify functions, among others.
  2. The files are on-disk in the same root directory as the index.ts and loaded into a Tree.
  3. Then the template Rule fills in the specified templating placeholders. For this, it only knows about the variables and functions passed to it via the options-object.
  4. Finally, the resulting Tree, containing the new file, is merged with the existing files of the project which the Schematic is run on.

changelog

19.1.3 (2025-01-20)

@angular/build

Commit Type Description
7d8c34172 fix allow asset changes to reload page on incremental updates
9fa29af37 fix handle relative @ng/components
c4de34703 fix perform full reload for templates with $localize usage

19.1.2 (2025-01-17)

@angular/build

Commit Type Description
939d1612a fix perform incremental background file updates with component updates
304027207 fix prevent full page reload on HMR updates with SSR enabled
148acbd58 fix reset component updates on dev-server index request

19.1.1 (2025-01-16)

@angular/build

Commit Type Description
298506751 fix resolve HMR-prefixed files in SSR with Vite

19.1.0 (2025-01-15)

Deprecations

@angular/build

  • The baseHref option under i18n.locales and i18n.sourceLocale in angular.json is deprecated in favor of subPath.

    The subPath defines the URL segment for the locale, serving as both the HTML base HREF and the directory name for output. By default, if not specified, subPath will use the locale code.

@schematics/angular

Commit Type Description
02825eec5 feat use @angular/build package in library generation schematic
88431b756 fix application migration should migrate ng-packagr builder package

@angular-devkit/architect

Commit Type Description
2b8a02bac feat require build schemas from modules
fe1ae6933 fix avoid Node.js resolution for relative builder schema

@angular-devkit/core

Commit Type Description
ce7c4e203 fix handle Windows drive letter case insensitivity in path functions

@angular-devkit/schematics

Commit Type Description
2f55209dd fix update Rule type to support returning a Promise of Tree

@angular/build

Commit Type Description
2c9d7368f feat add ng-packagr builder to the package
0a570c0c2 feat add support for customizing URL segments with i18n
298b554a7 feat enable component template hot replacement by default
d350f357b fix correctly validate locales subPath
8aa1ce608 fix handle loaders correctly in SSR bundles for external packages
3b7e6a8c6 fix invalidate component template updates with dev-server SSR
8fa682e57 fix remove deleted assets from output during watch mode
48cae815c fix skip vite SSR warmup file configuration when SSR is disabled
ba16ad6b5 fix support incremental build file results in watch mode
955acef3d fix trigger browser reload on asset changes with Vite dev server
e74300a2c fix use component updates for component style HMR
6a19c217e fix warn when using both isolatedModules and emitDecoratorMetadata

@angular/ssr

Commit Type Description
8d7a51dfc feat add modulepreload for lazy-loaded routes
41ece633b feat redirect to preferred locale when accessing root route without a specified locale
3feecddbb fix disable component boostrapping when running route extraction
6edb90883 fix throw error when using route matchers

19.0.7 (2025-01-08)

@angular-devkit/architect

Commit Type Description
95c22aeff fix provide better error when builder is not defined

@angular-devkit/build-angular

Commit Type Description
028652992 fix preserve css type for jasmine.css

@angular/build

Commit Type Description
f7522342a fix add asset tracking to application builder watch files
e973643bf fix do not mark Babel _defineProperty helper function as pure
881095eec fix enable serving files with bundle-like names
db10af0b3 fix fix incorrect budget calculation
c822f8f15 fix handle relative URLs when constructing new URLs during server fetch
b43c648b0 fix mitigate JS transformer worker execArgv errors
1f2481a4f fix pass define option defined in application builder to Vite prebundling
c94f568a4 fix warn when @angular/localize/init is imported directly

19.0.6 (2024-12-18)

@angular-devkit/build-angular

Commit Type Description
db7421231 fix jasmine.clock with app builder

@angular/build

Commit Type Description
5fbc105ed fix force HTTP/1.1 in dev-server SSR with SSL

@angular/ssr

Commit Type Description
2f4df6b2b fix correctly resolve pre-transform resources in Vite SSR without AppEngine
0789a9e13 fix ensure correct Location header for redirects behind a proxy

19.0.5 (2024-12-12)

@angular-devkit/build-angular

Commit Type Description
6c319e44c fix fix webpack config transform for karma

@angular/build

Commit Type Description
251bd9f22 fix Fixing auto-csp edge cases where
1047b8635 fix handle external @angular/ packages during SSR (#29094)
376ee9966 fix provide component HMR update modules to dev-server SSR
5ea9ce376 fix use consistent path separators for template HMR identifiers

@angular/ssr

Commit Type Description
b3c6c7eb2 fix include Content-Language header when locale is set
4203efb90 fix disable component bootstrapping during route extraction

19.0.4 (2024-12-05)

@angular-devkit/build-angular

Commit Type Description
23667ed4a fix handle windows spec collisions

@angular/build

Commit Type Description
fc41f50b5 fix show error when Node.js built-ins are used during ng serve
14451e275 perf reuse TS package.json cache when rebuilding

19.0.3 (2024-12-04)

@angular/cli

Commit Type Description
4e82ca180 fix correctly select package versions in descending order during ng add

@schematics/angular

Commit Type Description
28a51cc5e fix add required type to CanDeactivate guard (#29004)

@angular/build

Commit Type Description
f26e1b462 fix add timeout to route extraction
ab4e77c75 fix allow .json file replacements with application builds
06690d87e fix apply define option to JavaScript from scripts option
775e6f780 fix avoid deploy URL usage on absolute preload links
21f21eda3 fix ensure correct handling of index.output for SSR

@angular/ssr

Commit Type Description
75cf47e71 fix apply HTML transformation to CSR responses
5880a0230 fix correctly handle serving of prerendered i18n pages
277b8a378 fix ensure compatibility for Http2ServerResponse type

19.0.2 (2024-11-25)

@schematics/angular

Commit Type Description
2f53e2af5 fix skip SSR routing prompt in webcontainer

@angular/build

Commit Type Description
f9da163f8 fix minimize reliance on esbuild inject to prevent code reordering
c497749e6 fix prevent errors with parameterized routes when getPrerenderParams is undefined

@angular/ssr

Commit Type Description
c8cd90e0f fix handle nested redirects not explicitly defined in router config

19.0.1 (2024-11-21)

@angular-devkit/build-angular

Commit Type Description
b63123f20 fix use stylePreprocessorOptions

@angular/build

Commit Type Description
74461da64 fix ensure accurate content length for server assets
1b4dcedd5 fix use sha256 instead of sha-256 as hash algorithm name

@angular/ssr

Commit Type Description
8bd2b260e fix handle baseHref that start with ./

19.0.0 (2024-11-19)

Breaking Changes

@schematics/angular

  • The app-shell schematic is no longer compatible with Webpack-based builders.

@angular-devkit/build-angular

@angular-devkit/core

  • The deprecated fileBuffer function is no longer available. Update your code to use stringToFileBuffer instead to maintain compatibility.

    Note: that this change does not affect application developers.

@angular/build

  • The @angular/localize/init polyfill will no longer be added automatically to projects. To prevent runtime issues, ensure that this polyfill is manually included in the "polyfills" section of your "angular.json" file if your application relies on Angular localization features.

@angular/ssr

  • The CommonEngine API now needs to be imported from @angular/ssr/node.

    Before

    import { CommonEngine } from '@angular/ssr';

    After

    import { CommonEngine } from '@angular/ssr/node';

@angular-devkit/schematics-cli

Commit Type Description
37693c40e feat add package manager option to blank schematic

@schematics/angular

Commit Type Description
a381a3db1 feat add option to export component as default
755f3a07f feat add option to setup new workspace or application as zoneless mode
cfca5442e feat integrate withEventReplay() in provideClientHydration for new SSR apps
292a4b7c2 feat update app-shell and ssr schematics to adopt new Server Rendering API
b1504c3bc fix component spec with export default
4b4e000dd fix don't show server routing prompt when using browser builder
4e2a5fe15 fix enable opt-in for new @angular/ssr feature
fcf7443d6 fix explicitly set standalone:false
7992218a9 fix remove declaration and sourceMap from default tsconfig
9e6ab1bf2 fix use default import for express

@angular/cli

Commit Type Description
201b60e1d feat handle string key/value pairs, e.g. --define
b847d4460 fix recommend optional application update migration during v19 update
f249e7e85 perf enable Node.js compile code cache when available
ecc107d83 perf enable Node.js compile code cache when available

@angular-devkit/architect

Commit Type Description
78f76485f feat merge object options from CLI

@angular-devkit/build-angular

Commit Type Description
0a4ef3026 feat karma-coverage w/ app builder
dcbdca85c feat karma+esbuild+watch
54594b5ab feat support karma with esbuild
ea5ae68da fix bring back style tags in browser builder
476f94f51 fix fix --watch regression in karma
25d928b4f fix fix hanging terminal when browser-sync is not installed
2ec877dd0 fix handle basename collisions
ab6e19e1f fix handle main field
43e7aae22 fix remove double-watch in karma
1e37b5939 fix serve assets
9d7613db9 fix zone.js/testing + karma + esbuild
e40384e63 refactor remove deprecated browserTarget
62877bdf2 refactor remove Protractor builder and schematics

@angular-devkit/core

Commit Type Description
0d8a1006d refactor remove deprecated fileBuffer function in favor of stringToFileBuffer

@angular/build

Commit Type Description
b6951f448 feat add sass to stylePreprocessorOptions in application builder
efb434136 feat Auto-CSP support as a part of angular.json schema
816e3cb86 feat enable component stylesheet hot replacement by default
3b00fc908 feat introduce outputMode option to the application builder
7d883a152 feat introduce ssr.experimentalPlatform option
c48d6947e feat set development/production condition
f63072668 feat utilize ssr.entry during prerendering to enable access to local API routes
bbc290133 feat utilize ssr.entry in Vite dev-server when available
5a7a2925b fix add missing redirect in SSR manifest
06e5176c2 fix add warning when --prerendering or --app-shell are no-ops
ecaf870b5 fix always clear dev-server error overlay on non-error result
f8677f6a9 fix always record component style usage for HMR updates
099e477a8 fix avoid hashing development external component stylesheets
3602bbb77 fix avoid overwriting inline style bundling additional results
71534aadc fix check referenced files against native file paths
fed31e064 fix correctly use dev-server hmr option to control stylesheet hot replacement
b86bb080e fix disable dev-server websocket when live reload is disabled
7c50ba9e2 fix ensure index.csr.html is always generated when prerendering or SSR are enabled
efb2232df fix ensure accurate content size in server asset metadata
18a8584ea fix ensure SVG template URLs are considered templates with external stylesheets
7502fee28 fix Exclude known --import from execArgv when spawning workers
2551df533 fix fully disable component style HMR in JIT mode
c41529cc1 fix handle APP_BASE_HREF correctly in prerendered routes
87a90afd4 fix incomplete string escaping or encoding
1bb68ba68 fix move lmdb to optionalDependencies
a995c8ea6 fix prevent prerendering of catch-all routes
1654acf0f fix relax constraints on external stylesheet component id
0d4558ea5 fix set ngServerMode during vite prebundling
55d7f01b6 fix simplify disabling server features with --no-server via command line
cf0228b82 fix skip wildcard routes from being listed as prerendered routes
af52fb49b fix synchronize import/export conditions between bundler and TypeScript
6c618d495 fix update logic to support both internal and external SSR middlewares
bfa8fec9b fix use named export reqHandler for server.ts request handling
c8e1521a2 fix workaround Vite CSS ShadowDOM hot replacement
d6a34034d refactor remove automatic addition of @angular/localize/init polyfill and related warnings

@angular/ssr

Commit Type Description
92209dd2e feat add createRequestHandler and createNodeRequestHandlerutilities
41fb2ed86 feat Add getHeaders Method to AngularAppEngine and AngularNodeAppEngine for handling pages static headers
f346ee8a8 feat add isMainModule function
d66aaa3ca feat add server routing configuration API
bca568389 feat dynamic route resolution using Angular router
30c25bf68 feat export AngularAppEngine as public API
455b5700c feat expose writeResponseToNodeResponse and createWebRequestFromNodeRequest in public API
9692a9054 feat improve handling of aborted requests in AngularServerApp
576ff604c feat introduce AngularNodeAppEngine API for Node.js integration
3c9697a8c feat introduce new hybrid rendering API
4b09887a9 feat move CommonEngine API to /node entry-point
d43180af5 fix add missing peer dependency on @angular/platform-server
74b3e2d51 fix add validation to prevent use of provideServerRoutesConfig in browser context
2640bf7a6 fix correct route extraction and error handling
44077f54e fix designate package as side-effect free
df4e1d360 fix enable serving of prerendered pages in the App Engine
0793c78cf fix ensure wildcard RenderMode is applied when no Angular routes are defined
65b6e75a5 fix export RESPONSE_INIT, REQUEST, and REQUEST_CONTEXT tokens
4ecf63a77 fix export PrerenderFallback
50df63196 fix improve handling of route mismatches between Angular server routes and Angular router
3cf7a5223 fix initialize the DI tokens with null to avoid requiring them to be set to optional
85df4011b fix resolve bootstrap is not a function error
e9c9e4995 fix resolve circular dependency issue from main.server.js reference in manifest
64c52521d fix show error when multiple routes are set with RenderMode.AppShell
280ebbda4 fix support for HTTP/2 request/response handling
fb05e7f0a fix use wildcard server route configuration on the '/' route when the app router is empty
12ff37adb perf cache generated inline CSS for HTML
1d70e3b46 perf cache resolved entry-points
f460b91d4 perf integrate ETags for prerendered pages
e52ae7f6f perf prevent potential stampede in entry-points cache

18.2.12 (2024-11-14)

@angular/cli

Commit Type Description
c3925ed7f fix support default options for multiselect list x-prompt

@angular/build

Commit Type Description
c8bee8415 fix allow .js file replacements in all configuration cases
93f552112 fix improve URL rebasing for hyphenated Sass namespaced variables

18.2.11 (2024-10-30)

@angular/build

Commit Type Description
87ec15ba2 fix show error message when error stack is undefined

18.2.10 (2024-10-23)

@angular-devkit/build-angular

Commit Type Description
7b775f4e0 fix update http-proxy-middleware to 3.0.3

@angular/build

Commit Type Description
b1e5f51f9 fix Address build issue in Node.js LTS versions with prerendering or SSR

17.3.11 (2024-10-23)

@angular-devkit/build-angular

Commit Type Description
8bad9cee0 fix update http-proxy-middleware to 2.0.7

18.2.9 (2024-10-16)

@schematics/angular

Commit Type Description
237f7c5d0 fix update browserslist config to include last 2 Android major versions

@angular/build

Commit Type Description
d749ba6a3 fix allow direct bundling of TSX files with application builder
b91c82d89 fix avoid race condition in sass importer

18.2.8 (2024-10-09)

@schematics/angular

Commit Type Description
b522002ff fix add validation for component and directive class name
dfd2d5c05 fix include index.csr.html in resources asset group

@angular/build

Commit Type Description
9445916f9 fix Ctrl + C not terminating dev-server with SSR
9b5cfaa8c fix always generate a new hash for optimized chunk

18.2.7 (2024-10-02)

@schematics/angular

Commit Type Description
3f98193d6 fix support single quote setting in JetBrains IDEs

@angular/build

Commit Type Description
8274184e1 fix add animate to valid self-closing elements
2648e811e fix add few more SVG elements animateMotion, animateTransform, and feBlend etc. to valid self-closing elements
736e126e4 fix separate Vite cache by project

18.2.6 (2024-09-25)

@angular/build

Commit Type Description
9d0b67124 fix allow missing HTML file request to fallback to index
5fea635b2 fix update rollup to 4.22.4

17.3.10 (2024-09-25)

@angular-devkit/build-angular

Commit Type Description
30489d8fd fix update vite to 4.1.8

18.2.5 (2024-09-18)

@angular/build

Commit Type Description
707431625 fix support HTTP HEAD requests for virtual output files
1032b3da1 fix update vite to 5.4.6

16.2.16 (2024-09-18)

@angular-devkit/build-angular

Commit Type Description
12aca0060 fix update vite to 4.5.5

18.2.4 (2024-09-11)

@angular/build

Commit Type Description
765309a2e fix prevent transformation of Node.js internal dependencies by Vite

18.2.3 (2024-09-04)

@angular-devkit/build-angular

Commit Type Description
482076612 fix update webpack-dev-middleware to 7.4.2

18.2.2 (2024-08-29)

@angular-devkit/build-angular

Commit Type Description
504b00b93 fix clear context in Karma by default for single run executions
82b76086e fix update webpack to 5.94.0

17.3.9 (2024-08-29)

@angular-devkit/build-angular

Commit Type Description
e2c5c034d fix clear context in Karma by default for single run executions
88501f3d5 fix upgrade webpack to 5.94.0

16.2.15 (2024-08-29)

@angular-devkit/build-angular

Commit Type Description
f596a3d5d fix clear context in Karma by default for single run executions
56fa051bd fix upgrade webpack to 5.94.0

18.2.1 (2024-08-21)

@angular/cli

Commit Type Description
05a274a01 fix prevent bypassing select/checkbox prompts on validation failure

@angular-devkit/schematics-cli

Commit Type Description
94e27c88b fix prevent bypassing select/checkbox prompts on validation failure

@angular-devkit/build-angular

Commit Type Description
ddeb2b2b9 fix remove outdated browser-esbuild option warning

@angular/build

Commit Type Description
83b2699ab fix improve error message when an unhandled exception occurs during prerendering
0be4038a5 fix support reading on-disk files during i18n extraction

18.2.0 (2024-08-14)

@schematics/angular

Commit Type Description
4da922e4f feat use isolatedModules in generated project

@angular/build

Commit Type Description
24aaf1e37 feat support import attribute based loader configuration

18.1.4 (2024-08-07)

@angular/build

Commit Type Description
f8b092711 fix allow explicitly disabling TypeScript incremental mode
f3a5970fc fix lazy load Node.js inspector for dev server

18.1.3 (2024-07-31)

@angular/build

Commit Type Description
a28615d7d fix add CSP nonce attribute to script tags when inline critical CSS is disabled
747a1447c fix prevent build failures with remote CSS imports when Tailwind is configured
c0933f2c0 fix resolve error with extract-i18n builder for libraries

18.1.2 (2024-07-24)

@angular/build

Commit Type Description
5b9378a3b fix account for HTML base HREF for dev-server externals
3e4ea77d7 fix correctly detect comma in Sass URL lexer
d868270f1 fix prevent redirection loop
3573ac655 fix serve HTML files directly

18.1.1 (2024-07-17)

@angular-devkit/build-angular

Commit Type Description
4f6cee272 fix skip undefined files when generating budget stats

@angular/build

Commit Type Description
96dc7e6ed fix remove Vite "/@id/" prefix for explicit external dependencies
bdef39801 fix resolve only ".wasm" files

18.1.0 (2024-07-10)

@angular/cli

Commit Type Description
6d266c146 fix add fallbacks for migration package resolution

@schematics/angular

Commit Type Description
22e05dcb4 fix generate new projects with ECMAScript standard class field behavior

@angular/build

Commit Type Description
687a6c7ec feat add --inspect option to the dev-server
628d87a94 feat support WASM/ES Module integration proposal
3e359da8d fix address rxjs undefined issues during SSR prebundling
4ff914a16 fix allow additional module preloads up to limit
fb8e3c39a fix allow top-level await in zoneless applications
83b75af9f fix check inlineSourceMap option with isolated modules optimization
cd97134a6 fix normalize paths during module resolution in Vite
13d2100dd fix read WASM file from script location on Node.js
3091956f5 fix support import attributes in JavaScript transformer
dd94a831b perf enable dependency prebundling for server dependencies
3acb77683 perf use direct transpilation with isolated modules

18.0.7 (2024-07-03)

@angular/cli

Commit Type Description
67bf90131 fix make ng update to keep newline at the end of package.json

@angular-devkit/build-angular

Commit Type Description
9b43ecbd0 fix reduce the number of max workers to available CPUs minus one
03dad6806 fix rollback terser to 5.29.2

@angular/build

Commit Type Description
fc928f638 fix correctly name entry points to match budgets
2d51e8607 fix redirect to path with trailing slash for asset directories
16f1c1e01 fix reduce the number of max workers to available CPUs minus one

18.0.6 (2024-06-26)

@angular/build

Commit Type Description
98a8a8a78 fix show JavaScript cache store initialization warning

18.0.5 (2024-06-20)

@schematics/angular

Commit Type Description
5c705e800 fix update schematics to use RouterModule when --routing flag is present

@angular-devkit/build-angular

Commit Type Description
86e031dc7 fix use istanbul-lib-instrument directly for karma code coverage

@angular/build

Commit Type Description
bdd168f37 fix add CSP nonce to script with src tags
405c14809 fix automatically resolve .mjs files when using Vite
7360a346e fix use Node.js available parallelism for default worker count

18.0.4 (2024-06-13)

@angular/build

Commit Type Description
791ef809d fix do not reference sourcemaps in web workers and global stylesheet bundles when hidden setting is enabled
20fc6ca05 fix generate module preloads next to script elements in index HTML
3a1bf5c8a fix Initiate PostCSS only once
78c611754 fix issue warning when auto adding @angular/localize/init

18.0.3 (2024-06-05)

@angular/cli

Commit Type Description
b709d2a24 fix add schema.json options to parsed command, also when a version is passed to ng add <package>@<version>

@angular/build

Commit Type Description
43a2a7d13 fix avoid escaping rebased Sass URL values
9acb5c7ca fix disable JS transformer persistent cache on web containers
346df4909 fix improve Sass rebaser ident token detection
6526a5f59 fix watch all related files during a Sass error

18.0.2 (2024-05-29)

@schematics/angular

Commit Type Description
9967c04b8 fix check both application builder packages in SSR schematic
92b48ab14 fix set builders assets option correctly for new applications

@angular/build

Commit Type Description
3bb06c37d fix disable Worker wait loop for Sass compilations in web containers
c4cf35923 fix print Sass @warn location
352879804 fix support valid self-closing MathML tags in HTML index file
476f3084a fix support valid self-closing SVG tags in HTML index file

@angular/pwa

Commit Type Description
acbffd236 fix set manifest icons location to match assets builder option

18.0.1 (2024-05-23)

@schematics/angular

Commit Type Description
01842f515 fix use angular.dev in readme

@angular/build

Commit Type Description
7d253e9cd fix avoid rebasing URLs with function calls
6b6a76a99 fix disable persistent disk caching inside webcontainers by default
ba70a50b6 fix handle esbuild-browser polyfills option as string during ng serve
706423aca fix only import persistent cache store with active caching

18.0.0 (2024-05-22)

Breaking Changes

@angular/cli

  • The ng doc command has been removed without a replacement. To perform searches, please visit www.angular.dev
  • Node.js support for versions <18.19.1 and <20.11.1 has been removed.

@angular-devkit/build-angular

  • By default, the index.html file is no longer emitted in the browser directory when using the application builder with SSR. Instead, an index.csr.html file is emitted. This change is implemented because in many cases server and cloud providers incorrectly treat the index.html file as a statically generated page. If you still require the old behavior, you can use the index option to specify the output file name.

    "architect": {
      "build": {
        "builder": "@angular-devkit/build-angular:application",
        "options": {
          "outputPath": "dist/my-app",
          "index": {
            "input": "src/index.html",
            "output": "index.html"
          }
        }
      }
    }
  • The support for the legacy Sass build pipeline, previously accessible via NG_BUILD_LEGACY_SASS when utilizing webpack-based builders, has been removed.

Deprecations

@angular-devkit/schematics

  • NodePackageLinkTask in @angular-devkit/schematics. A custom task should be created instead.

@angular/cli

Commit Type Description
ac3019570 feat add ng dev alias to ng serve
4087728c3 feat support for Node.js v22
41ab6c8c3 fix add --version option
df4dde95d fix add @angular/build package to update group list
1039f6d79 fix change update guide link to angular.dev
f4670fcb1 fix eliminate prompts during ng version command
a99ec6a54 fix keep cli package first in update package group metadata
dd786d495 fix only add --version option on default command
03eee0545 refactor remove ng doc command
c7b208555 refactor remove support for Node.js versions <18.19.1 and <20.11.1

@schematics/angular

Commit Type Description
b2ac5fac7 feat allow application migration to use new build package in projects where possible
6530aa11b feat replace assets with public directory
725883713 feat use eventCoalescing option by default (standalone bootstrap)
508d97da7 feat use ngZoneEventCoalescing option by default (module bootstrap)
f452589e2 feat use TypeScript bundler module resolution for new projects
95a4d6ee5 fix add less dependency in application migration if needed
c46aa084f fix add postcss dependency in application migration if needed
157329384 fix add spaces around eventCoalescing option
23cc337aa fix keep deployUrl option when migrating to application builder

@angular-devkit/architect

Commit Type Description
ddd08efef fix resolve builder aliases from containing package

@angular-devkit/build-angular

Commit Type Description
53c319aaa feat add support for the poll option in the library builder
83d1d233a feat enhance Sass rebasing importer for resources URL defined in variables and handling of external paths
d51cb598a feat inject event-dispatch in SSR HTML page
0b03829bc feat move i18n extraction for application builder to new build system package
4ffe07aa2 feat move Vite-based dev-server for application builder to new build system package
d1c632af9 feat support native async/await when app is zoneless
37fc7f0cc fix disable Vite prebundling when script optimizations are enabled
2acf95a94 fix do not generate an index.html file in the browser directory when using SSR.
8a54875cb fix handle wrapping of class expressions emitted by esbuild
97973059e refactor remove Sass legacy implementation

@angular-devkit/schematics

Commit Type Description
797584583 refactor deprecate NodePackageLinkTask

@angular/build

Commit Type Description
810d213e1 feat introduce new official build system package
b7a0792b3 fix add a maximum rendering timeout for SSG
411115303 fix add console note about development server raw file size
921fa7cf4 fix add missing ansi-colors and picomatch dependencies
791cf75af fix check both potential build packages in Angular version check
4d7cd5e3e fix correctly wrap class expressions with static properties or blocks emitted by esbuild
57f448a0f fix decode URL pathname decoding during SSG fetch
940e382db fix disable Vite prebundling when script optimizations are enabled
70dbc7a6e fix emit error for invalid self-closing element in index HTML
44b401747 fix ensure input index HTML file triggers rebuilds when changed
dff4deaeb fix ensure recreated files are watched
17931166d fix format sizes using decimal byte units consistently
2085365e0 fix only generate shallow preload links for initial files
33cd47c85 fix properly configure headers for media resources and HTML page
d10fece2c fix properly rebase Sass url() values with leading interpolations
3f2963835 perf add persistent caching of JavaScript transformations
a15eb7d1c perf improve rebuild time for file loader usage with prebundling

17.3.8 (2024-05-22)

@angular/cli

Commit Type Description
3ada6eb52 fix clarify optional migration instructions during ng update

@angular-devkit/schematics

Commit Type Description
4b6ba8df1 fix SchematicTestRunner.runExternalSchematic fails with "The encoded data was not valid for encoding utf-8"

17.3.7 (2024-05-08)

@angular-devkit/build-angular

Commit Type Description
998c72036 fix decode URL pathname decoding during SSG fetch

@angular-devkit/schematics

Commit Type Description
1ab1c6c9e fix use web standard error check for Deno support

17.3.6 (2024-04-25)

@angular-devkit/build-angular

Commit Type Description
dcec59799 fix properly configure headers for media resources and HTML page

17.3.5 (2024-04-17)

@angular-devkit/build-angular

Commit Type Description
6191d06ca fix address Unable to deserialize cloned data issue with Yarn PnP
0335d6a5d fix remove type="text/css" from style tag

17.3.4 (2024-04-11)

@angular-devkit/build-angular

Commit Type Description
1128bdd64 fix ensure esbuild-based builders exclusively produce ESM output

16.2.14 (2024-04-11)

@angular-devkit/build-angular

Commit Type Description
1068c3c73 fix update vite to 4.5.3

17.3.3 (2024-04-02)

@schematics/angular

Commit Type Description
a673baf5c fix Revert "fix(@schematics/angular): rename SSR port env variable"

17.3.2 (2024-03-25)

@schematics/angular

Commit Type Description
935f931ee fix rename SSR port env variable

@angular-devkit/build-angular

Commit Type Description
c9d436000 fix Internal server error: Invalid URL when using a non localhost IP
59fba38ec fix ensure proper resolution of linked SCSS files
27dd8f208 fix service-worker references non-existent named index output
c12907d92 fix update webpack-dev-middleware to 6.1.2

16.2.13 (2024-03-25)

@angular-devkit/build-angular

Commit Type Description
5ad507e3d fix update webpack-dev-middleware to 6.1.2

15.2.11 (2024-03-25)

@angular-devkit/build-angular

Commit Type Description
c6feb0bb0 fix update webpack-dev-middleware to 6.1.2

17.3.1 (2024-03-20)

@schematics/angular

Commit Type Description
198ca9afc fix improve Sass format clarity for application style option

@angular-devkit/build-angular

Commit Type Description
2809971a5 fix only generate server directory when SSR is enabled
3f601a14e fix typo in allowedHosts warning for unsupported vite options
79c44adac perf avoid transforming empty component stylesheets
cc3167f30 perf reduce build times for apps with a large number of components when utilizing esbuild-based builders

17.3.0 (2024-03-13)

@schematics/angular

Commit Type Description
5ab71fc92 feat update CSS/Sass import/use specifiers in application migration

@angular-devkit/build-angular

Commit Type Description
9ca3a5450 feat add deployUrl to application builder
3821344da fix ensure proper display of build logs in the presence of warnings or errors
de2d05049 fix provide better error message when server option is required but missing

17.2.3 (2024-03-06)

@angular-devkit/build-angular

Commit Type Description
7cc8261fd fix avoid implicit CSS file extensions when resolving
259ec72d5 fix avoid marking component styles as media with no output media directory
faffdfdce fix disable deployUrl when using vite dev-server

17.2.2 (2024-02-28)

@angular-devkit/build-angular

Commit Type Description
3394d3cf1 fix ensure all related stylesheets are rebuilt when an import changes

17.2.1 (2024-02-22)

@angular-devkit/build-angular

Commit Type Description
9e7c47b59 fix allow mts and cts file replacement
f2a2e9287 fix provide Vite client code source map when loading

17.2.0 (2024-02-14)

@angular/cli

Commit Type Description
b3e206741 feat add support to bun package manager

@schematics/angular

Commit Type Description
03e1aa790 feat add support to bun package manager

@angular-devkit/build-angular

Commit Type Description
7f57123fd feat add define build option to application builder
f4f535653 feat add JSON build logs when using the application builder
b59f663e5 feat allow control of Vite-based development server prebundling
8f47f1e96 feat provide default and abbreviated build target support for dev-server and extract-i18n
7a12074dc feat provide option to allow automatically cleaning the terminal screen during rebuilds
7c522aa87 feat support using custom postcss configuration with application builder
476a68daa fix add output location in build stats
5e6f1a9f4 fix avoid preloading server chunks
41ea985f9 fix display server bundles in build stats
d493609d3 fix downgrade copy-webpack-plugin to workaround Node.js support issue
8d5af1d5c fix ensure correct .html served with Vite dev-server
944cbcdb1 fix limit the number of lazy chunks visible in the stats table
905e13633 fix support string as plugin option in custom postcss plugin config

@angular-devkit/schematics

Commit Type Description
da1c38c48 fix add bun to known package managers

@angular/create

Commit Type Description
600498f2c feat add support to bun package manager

17.1.4 (2024-02-14)

@angular/cli

Commit Type Description
6d2168db9 fix prevent BOM errors in package.json during ng update

@angular-devkit/build-angular

Commit Type Description
bf42d6df2 fix bypass Vite prebundling for absolute URL imports

17.1.3 (2024-02-08)

@angular-devkit/build-angular

Commit Type Description
3de3aa170 fix allow ./ baseHref when using vite based server
17f47a3c9 fix ensure WebWorker main entry is used in output code

17.1.2 (2024-01-31)

@angular-devkit/build-angular

Commit Type Description
6815f13e3 fix add required modules as externals imports
a0e306098 fix correctly handle glob negation in proxy config when using vite
235c8403a fix handle regular expressions in proxy config when using Vite
5332e5b2e fix resolve absolute output-path when using esbuild based builders
3deb0d4a1 fix return 404 for assets that are not found

17.1.1 (2024-01-24)

@angular/cli

Commit Type Description
8ebb754c2 fix update regex to validate the project-name

@schematics/angular

Commit Type Description
35ebf1efd fix retain trailing comma when adding providers to app config

@angular-devkit/build-angular

Commit Type Description
88de1da92 fix ENOENT: no such file or directory on Windows during component rebuild
4e2586aeb fix allow package file loader option with Vite prebundling
aca1cfcda fix do not add internal CSS resources files in watch
53258f617 fix handle load event for multiple stylesheets and CSP nonces
412fe6ec6 fix pre-transform error when using vite with SSR
45dea6f44 fix provide actionable error message when server bundle is missing default export
4e2b23f03 fix update dependency vite to v5.0.12

@angular/ssr

Commit Type Description
02d9d84c5 fix handle load event for multiple stylesheets and CSP nonces

16.2.12 (2024-01-24)

@angular-devkit/build-angular

Commit Type Description
5fad40162 fix update dependency vite to v4.5.2

17.1.0 (2024-01-17)

@schematics/angular

Commit Type Description
b513d89b7 feat add optional migration to use application builder
a708dccff feat update SSR and application builder migration schematics to work with new outputPath
4469e481f fix do not trigger NPM install when using ---skip-install and --ssr

@angular-devkit/build-angular

Commit Type Description
e0b274b8f feat add option to retain CSS special comments in global styles
204794c4f feat add support for --no-browsers in karma builder
4784155bd feat add wildcard option for allowedCommonJsDependencies
3b93df42d feat allow configuring loaders for custom file extensions in application builder
cc246d50e feat allow customization of output locations
15a669c1e feat allowing control of index HTML initial preload generation
47a064b14 feat emit external sourcemaps for component styles
68dae539a feat initial experimental implementation of @web/test-runner builder
f6e67df1c feat inline Google and Adobe fonts located in stylesheets
364a16b7a feat move browser-sync as optional dependency
ccba849e4 feat support keyboard command shortcuts in application dev server
329d80075 fix alllow OPTIONS requests to be proxied when using vite
49ed9a26c fix emit error when using prerender and app-shell builders with application builder
6473b0160 fix ensure all configured assets can be served by dev server
874e576b5 fix filter explicit external dependencies for Vite prebundling
2a02b1320 fix fix normalization of the application builder extensions
9906ab7b4 fix normalize asset source locations in Vite-based development server
ceffafe1a fix provide better error messages for failed file reads
6d7fdb952 fix show diagnostic messages after build stats
4e1f0e44d fix the request url "..." is outside of Vite serving allow list for all assets
bd26a18e7 fix typo in preloadInitial option description
125fb779f perf reduce TypeScript JSDoc parsing in application builder

17.0.10 (2024-01-10)

@angular/cli

Commit Type Description
ed1e130da fix retain existing EOL when updating JSON files

@schematics/angular

Commit Type Description
09c32c678 fix retain existing EOL when adding imports
a5c339eaa fix retain existing EOL when updating JSON files

@angular-devkit/core

Commit Type Description
3dc4db7d7 fix retain existing EOL when updating workspace config

17.0.9 (2024-01-03)

@angular/cli

Commit Type Description
446dfb76a fix add prerender and ssr-dev-server schemas in angular.json schema

@angular-devkit/schematics

Commit Type Description
88d6ca4a5 fix replace template line endings with platform specific

17.0.8 (2023-12-21)

@angular/cli

Commit Type Description
6dba26a0b fix ng e2e and ng lint prompt requires to hit Enter twice to proceed on Windows
0b48acc4e fix re-add -d alias for --dry-run

@schematics/angular

Commit Type Description
99b026ede fix add missing property "buildTarget" to interface "ServeBuilderOptions"
313004311 fix do not generate standalone component when using ng generate module

@angular-devkit/build-angular

Commit Type Description
cf11cdf6c fix add missing tailwind @screen directive in matcher
aa6c757d7 fix construct SSR request URL using server resolvedUrls
0662048d4 fix ensure empty optimized Sass stylesheets stay empty
d1923a66d fix ensure external dependencies are used by Web Worker bundling

16.2.11 (2023-12-21)

@angular-devkit/build-angular

Commit Type Description
e0e011fc4 build update dependency vite to v4.5.1

17.0.7 (2023-12-13)

@angular-devkit/build-angular

Commit Type Description
3df3e583c fix baseHref with trailing slash causes server not to be accessible without trailing slash
ef1178188 fix allow vite to serve JavaScript and TypeScript assets
385eb77d2 fix cache loading of component resources in JIT mode
4b3af73ac fix ensure browser-esbuild is used in dev server with browser builder and forceEsbuild
d1b27e53e fix ensure port 0 uses random port with Vite development server
f2f7d7c70 fix file is missing from the TypeScript compilation with JIT
7b8d6cddd fix handle updates of an npm link library from another workspace when preserveSymlinks is true
c08c78cb8 fix inlining of fonts results in jagged fonts for Windows users
930024811 fix retain symlinks to output platform directories on builds
3623fe911 fix update ESM loader to work with Node.js 18.19.0

17.0.6 (2023-12-06)

@schematics/angular

Commit Type Description
da5d39471 fix enable TypeScript skipLibCheck in new workspace

@angular-devkit/build-angular

Commit Type Description
048512874 fix app-shell generation incorrect content when using the application builder
f9e982c44 fix check namespaced Sass variables when rebasing URLs
a1e8ffa9d fix correctly align error/warning messages when spinner is active
46d88a034 fix handle watch updates on Mac OSX when using native FSEvents API
4594407ae fix improve file watching on Windows when using certain IDEs
aa9e7c615 fix normalize locale tags with Intl API when resolving in application builder
a8dbf1da2 fix watch symlink when using preserveSymlinks option
e3820cb6c perf only enable advanced optimizations with script optimizations

17.0.5 (2023-11-29)

Rolling back bbbe13d67 which appears to break file watching on Mac devices.

17.0.4 (2023-11-29)

@schematics/angular

Commit Type Description
7a2823080 fix remove CommonModule import from standalone components

@angular-devkit/build-angular

Commit Type Description
0634a4e40 fix avoid native realpath in application builder
22880d9cb fix correct set locale when using esbuild based builders
a0680672f fix correctly watch files when app is in a directory that starts with a dot
bbbe13d67 fix improve file watching on Windows when using certain IDEs
27e7c2e1b fix propagate localize errors to full build result
7455fdca0 fix serve assets from the provided serve-path
657a07bd6 fix treeshake unused class that use custom decorators
77474951b fix use workspace real path when not preserving symlinks

17.0.3 (2023-11-21)

@angular-devkit/build-angular

Commit Type Description
450dd29a1 fix default to watching project root on Windows with application builder
8072b8574 fix ensure service worker hashes index HTML file for application builder
d99870740 perf only create one instance of postcss when needed

17.0.2 (2023-11-20)

@angular-devkit/build-angular

Commit Type Description
023645185 fix always normalize AOT file reference tracker paths
3b99980bd fix emit root files when localize is enabled when using the esbuild based builders
ef3e3abb8 fix ensure watch file paths from TypeScript are normalized
d11b36fe2 fix normalize paths in ssr sourcemaps to posix when using vite
62d51383a fix only include vendor sourcemaps when using the dev-server when the option is enabled
d28ba8a73 fix remove browser-esbuild usage warning

17.0.1 (2023-11-15)

@angular/cli

Commit Type Description
5267e6055 fix handle packages with no version

@schematics/angular

Commit Type Description
d9f7d439e fix add helper script to spawn SSR server from dist
a80926cdb fix html indentation
f7f62c9d6 fix remove downlevelIteration from tsconfig.json for new workspaces
7cb57317d fix use href property binding for links
731917cd0 fix use styleUrl

@angular-devkit/build-angular

Commit Type Description
15dd71aba fix deleteOutputPath when using esbuild-builder
fa4d8ff31 fix add actionable error when file replacement is missing
160a91160 fix add support for vendor sourcemaps when using the dev-server
5623c193e fix cache stylesheet load errors with application builder
1a5538e0c fix disable Worker wait loop for TS/NG parallel compilation in web containers
883771946 fix do not process ssr entry-point when running ng serve
d3b549167 fix empty output directory instead of removing
596f7639a fix ensure compilation errors propagate to all bundle actions
d900a5217 fix maintain current watch files after build errors
21549bdeb fix prerender default view when no routes are defined
4c251647b fix rewire sourcemap back to original source root

17.0.0 (2023-11-08)

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

@angular-devkit/build-angular

  • The browserTarget in the dev-server and extract-i18n builders have been deprecated in favor of buildTarget.

@angular/cli

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

@schematics/angular

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

@angular-devkit/build-angular

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

@angular-devkit/schematics

Commit Type Description
f600bbc97 refactor remove deprecated runExternalSchematicAsync and runSchematicAsync

@angular/pwa

Commit Type Description
81e4917ce fix replace Angular logos

@angular/ssr

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

@ngtools/webpack

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

16.2.10 (2023-11-08)

@angular-devkit/build-angular

Commit Type Description
bab3672cd fix normalize exclude path

16.2.8 (2023-10-25)

@angular/cli

Commit Type Description
44275601b fix remove the need to specify --migrate-only when --name is used during ng update

16.2.7 (2023-10-19)

@schematics/angular

Commit Type Description
f1a0c3361 fix change Twitter logo to X

16.2.6 (2023-10-11)

@angular-devkit/build-angular

Commit Type Description
c6ea25626 fix fully downlevel async/await when using vite dev-server with caching enabled

15.2.10 (2023-10-05)

@angular-devkit/build-angular

Commit Type Description
05213c95b fix update dependency postcss to v8.4.31

14.2.13 (2023-10-05)

@angular-devkit/build-angular

Commit Type Description
1ca44dcd9 fix update dependency postcss to v8.4.31

16.2.5 (2023-10-04)

@angular-devkit/build-angular

Commit Type Description
933358186 fix do not print Angular is running in development mode. in the server console when using dev-server
493bd3906 fix update dependency postcss to v8.4.31

16.2.4 (2023-09-27)

@schematics/angular

Commit Type Description
5dc7fb1a1 fix update @angular/cli version specifier to use ^

16.2.3 (2023-09-20)

@angular-devkit/build-angular

Commit Type Description
39643bee1 fix correctly re-point RXJS to ESM on Windows
d8d116b31 fix several windows fixes to application builder prerendering

@ngtools/webpack

Commit Type Description
f1195d035 fix fix recursion in webpack resolve

16.2.2 (2023-09-13)

@angular-devkit/build-angular

Commit Type Description
e3a40a49a fix support dev server proxy pathRewrite field in Vite-based server

16.2.1 (2023-08-30)

@angular-devkit/build-angular

Commit Type Description
221ab2483 fix display warning when using resourcesOutputPath with esbuild builder
fe752ad87 fix encode Sass package resolve directories in importer URLs
82b0f94fd fix handle HMR updates of global CSS when using Vite
6a48a11b8 fix update vite to be able to serve app-shell and SSG pages
fdb16f7cd fix use correct type for extraEntryPoints

16.2.0 (2023-08-09)

@angular-devkit/build-angular

Commit Type Description
e6b377436 feat add ssr option in application builder
c05c83be7 feat add initial application builder implementation
095f5aba6 feat add initial support for server bundle generation using esbuild
cb165a75d feat add pre-rendering (SSG) and App-shell support generation to application builder
2a3fc6846 feat add preload hints based on transitive initial files
099cec758 feat add support for serving SSR with dev-server when using the application builder
449e21b3a fix correctly load dev server assets with vite 4.4.0+
f42f10135 fix ensure preload hints for external stylesheets are marked as styles
7defb3635 fix ensure that server dependencies are loaded also in ssr entrypoint
05f31bd28 fix prevent race condition in setting up sass worker pool
5048f6e82 fix Set chunk names explicitly
974748cdf perf filter postcss usage based on content in esbuild builder
61a652d91 perf inject Sass import/use directive importer information when resolving
a0a2c7aef perf only load browserslist in babel preset if needed
6bfd1800e perf use in-memory Sass module resolution cache

16.1.8 (2023-08-04)

Commit Type Description
7a420d338 fix build: update critters

16.1.7 (2023-08-02)

@angular-devkit/build-angular

Commit Type Description
1dab4ed87 fix hot update filename suffix with .mjs

16.1.6 (2023-07-26)

@angular-devkit/build-angular

Commit Type Description
20816b57f fix error during critical CSS inlining for external stylesheets

16.1.5 (2023-07-20)

@angular/cli

Commit Type Description
7e91d4709 fix add zone.js to ng version output
475506822 fix throw an error when executed in a google3-context

@angular-devkit/build-angular

Commit Type Description
07d3d8c6a fix correctly wrap CommonJS exported enums when optimizing

16.1.4 (2023-07-06)

@angular-devkit/build-angular

Commit Type Description
7016cee57 fix normalize paths in loader cache with esbuild

16.1.3 (2023-06-29)

@angular-devkit/build-angular

Commit Type Description
b56ab0798 fix use absolute watch paths for postcss dependency messages

15.2.9 (2023-06-28)

@angular/cli

Commit Type Description
f36e38a91 fix update direct semver dependencies to 7.5.3

16.1.2 (2023-06-28)

@angular/cli

Commit Type Description
3475e0281 fix update direct semver dependencies to 7.5.3

@angular-devkit/build-angular

Commit Type Description
8108b8c2d fix allow linker JIT support with prebundling with esbuild builder
502365037 fix use all style language watch files in esbuild builder

14.2.12 (2023-06-28)

@angular/cli

Commit Type Description
bd396b656 fix update direct semver dependencies to 7.5.3

16.1.1 (2023-06-22)

@angular-devkit/build-angular

Commit Type Description
f017fee2e fix actually disable Vite prebundling file discovery
2b4beaca2 fix experimental esbuild pipeline, add es2015 to main fields for RxJS v6 compatibility
e3c85e00e fix track postcss provided file dependencies in esbuild builder
1419fff88 fix unpin and downgrade browserslist
950a4b60f fix watch all bundler provided inputs with esbuild builder

16.1.0 (2023-06-13)

@schematics/angular

Commit Type Description
b14b95990 feat add bootstrap-agnostic utilities for writing ng-add schematics

@angular-devkit/build-angular

Commit Type Description
3ede1a2ca feat allow forcing esbuild builder with dev-server
2d141fe3b feat show estimated transfer size with esbuild builder
9aa9b5264 feat support autoprefixer/tailwind CSS with Less/Sass in esbuild builder
3d1c09b23 feat support dev-server package prebundling with esbuild builder
d8930facc feat support incremental TypeScript semantic diagnostics in esbuild builder
5cacd34a2 fix watch all TypeScript referenced files in esbuild builder
8336ad80d perf enable in-memory load result caching for stylesheets in esbuild builder

16.0.6 (2023-06-13)

@angular-devkit/build-angular

Commit Type Description
eebb54cbf fix correctly handle sass imports
081b62539 fix support proxy configuration array-form in esbuild builder

16.0.5 (2023-06-07)

@angular-devkit/build-angular

Commit Type Description
9817b984b fix ignore .git folder in browser-esbuild watcher
ce95d2545 fix ignore folders starting with a dot in browser-esbuild watcher

16.0.4 (2023-06-01)

@angular-devkit/build-angular

Commit Type Description
5bff97d5b fix correctly set overridden compiler option
cd0247514 fix preemptively remove AOT metadata in esbuild builder

16.0.3 (2023-05-25)

@angular-devkit/build-angular

Commit Type Description
1d83bb656 fix percent encode asset URLs in development server for esbuild

16.0.2 (2023-05-17)

@angular-devkit/build-angular

Commit Type Description
7a3c895c8 fix attempt relative global script read first in esbuild builder
f30be2518 fix correctly generate serviceworker hashes for binary assets
117e8d001 fix normalize Vite dev-server Windows asset paths
e5c1d43de perf minor sourcemap ignorelist improvements for esbuild builder

16.0.1 (2023-05-10)

@angular-devkit/build-angular

Commit Type Description
ed82c83fe fix avoid CommonJS warnings for relative imports with esbuild builders
3083c4eda fix avoid hash filenames for non-injected global styles/scripts
b106bc9d0 fix clean incoming index URL before processing in esbuild builder
2967705ed fix convert dev-server glob proxy entries for esbuild builder
a9d20015c fix disable runtime errors from being displayed in overlay
822b552f6 fix fix index option const value for browser-esbuild
131cd23b6 fix prevent relative import failure with Less in esbuild builder
fedcc5d92 fix properly set base dev-server path with esbuild
cb3161045 fix show error note for CSS url() tilde usage in esbuild builder
54e5000ca fix workaround for esbuild static block AOT generated code

@angular-devkit/schematics

Commit Type Description
5a35970af fix do not generate an UpdateBuffer for created and overridden files

@angular/pwa

Commit Type Description
70d224ca7 fix compress PWA icons

16.0.0 (2023-05-03)

Breaking Changes

@angular/cli

  • The deprecated defaultCollection workspace option has been removed. Use schematicCollections instead.

    Before

    "defaultCollection": "@angular/material"

    After

    "schematicCollections": ["@angular/material"]
  • The deprecated defaultProject workspace option has been removed. The project to use will be determined from the current working directory.

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

@schematics/angular

  • ng g resolver and ng g guard now generate a functional resolver or guard by default. It is still possible to generate a (deprecated) class-based resolver or guard by using ng g resolver --no-functional or ng g guard --no-functional.
  • The CLI no longer allows to generate CanLoad guards. Use CanMatch instead.

#

    • TypeScript 4.8 is no longer supported.

@angular-devkit/build-angular

  • Deprecated outputPath and outputPaths from the server and browser builder have been removed from the builder output. Use outputs instead.

    Note: this change does not effect application developers.

@angular-devkit/core

  • Several changes to the SchemaRegistry.
    • compile method now returns a Promise.
    • Deprecated flatten has been removed without replacement.
    • ContentHasMutatedException, InvalidUpdateRecordException, UnimplementedException and MergeConflictException API from @angular-devkit/core have been removed in favor of the API from @angular-devkit/schematics.
    • UnsupportedPlatformException - A custom error exception should be created instead.

@angular-devkit/schematics

  • The depracated UpdateBuffer has been removed and UpdateBuffer2 is renamed to UpdateBuffer. With this change the related and deprecated symbols ContentCannotBeRemovedException and Chunk have also been removed.

@ngtools/webpack

  • NGCC integration has been removed and as a result Angular View Engine libraries will no longer work.

@schematics/angular

Commit Type Description
c2d2da41b feat add support to add service worker to standalone application
22fdd7da9 feat generate functional resolvers and guards by default
a832c2028 feat Implement a standalone flag for new applications
5ceedcb11 feat remove deprecated CanLoad option for guards
c9e84d024 feat remove generation of BrowserModule.withServerTransition
50b9e59a5 feat update app-shell schematic to support standalone applications
dc5cc893d feat Update universal schematic to support standalone applications
f98c9de80 fix add experimental message when using standalone application schematic.
a5cb46124 fix add standalone option to library library
b2ed7bd10 fix provide migration that disables build optimizer on dev server builds
ba4414b2c fix reformat app.config.ts
202e9a50f fix remove compileComponents from component test schematic
0d58f73c5 fix rename app.server.module.ts to app.module.server.ts
de6d30102 fix replace provideServerSupport with provideServerRendering
bff634fe0 fix update private Components utilities to work with standalone project structure
85fe820b0 fix use same property order in standalone AppComponent

@angular/cli

Commit Type Description
68024234e feat remove deprecated defaultCollection from workspace configuration
d58428d3d feat remove deprecated defaultProject from workspace configuration
7cb5689e0 feat show optional migrations during update process
c29c8e18d refactor remove Node.js v14 support

#

Commit Type Description
5a171ddff build update to TypeScript 5 and drop support for TypeScript 4.8

@angular-devkit/architect

Commit Type Description
48871381a fix allow registered builder teardowns to execute

@angular-devkit/build-angular

Commit Type Description
ff5ebf9b1 feat add CSP support for inline styles
ee8013f66 feat display build output table with esbuild
0eac98f61 feat implement progress option for esbuild builder
f04859d16 feat initial autoprefixer support for CSS in esbuild builder
8c550302c feat initial development server for esbuild-based builder
52969db6b feat initial tailwindcss support for CSS in esbuild builder
ce46ecae0 feat support module resolution with less stylesheets in esbuild builder
584b51907 feat support scripts option with esbuild builder
e4883b0ee feat support SSL options with esbuild development server
290802060 feat support standalone app-shell generation
766c14698 fix add sourcemap x_google_ignoreList support for esbuild builder
cdfa7ca88 fix allow multiple polyfills with esbuild-based builder
e690b7cbd fix always enable looseEnums build optimizer rule
135ab4c36 fix avoid double sourcemap comments with esbuild dev-server
dcf60d2be fix correctly filter lazy global styles in esbuild builder
342a4ea30 fix correctly show initial files in stat table with esbuild builder
107851ae4 fix display warning when preserveWhitespaces is set in the tsconfig provided to the server builder
ff8a89cbf fix ensure all build resources are served in esbuild dev server
f76a8358e fix ensure directories are properly ignored in esbuild builder
005ba4276 fix ensure empty component styles compile with esbuild
f74151baa fix exclude @angular/platform-server/init from unsafe optimizations
f72155bc7 fix fully remove third-party sourcemaps when disabled in esbuild builder
26dced95c fix JIT support for standalone applications
4822b3ba5 fix keep esbuild server active until builder fully stops
adbf2c8a1 fix normalize long-form asset option output to relative path
67670b612 fix pass listening port in result for esbuild dev server
1a8833b21 fix provide option to run build-optimizer on server bundles
b8c9667f9 fix remove unintended files in esbuild output stats table
04274afc1 fix set public class fields as properties (#24849)
a778fe6c2 fix show lazy files in stat table correctly with esbuild
955b493b1 fix support CSP on critical CSS link tags.
c272172c8 fix update esbuild builder complete log
0b450578a fix update list of known tailwind configuration files
759ae92aa fix update peer dependencies to support version 16
eca366a84 fix use preserveSymlinks option for tsconfigs in esbuild builder
28c27567c perf asynchronously delete output path in esbuild builder
458400b7b perf avoid unnessary iterations
a710a262a perf cache Sass in memory with esbuild watch mode
e1398d333 perf do not inline sourcemap when using vite dev-server
b2ece91b7 perf enhance Sass package resolution in esbuild builder
aae34fc02 perf fully lazy load sass in esbuild builder
9ea3e8e34 perf only import esbuild watcher when in watch mode
f88ac6fdf perf skip Angular linker in JIT mode with esbuild
a99018cd7 refactor remove deprecated outputPaths and outputPath Builder output

@angular-devkit/core

Commit Type Description
f6624b974 feat update SchemaRegistry compile to return Promise
0ad81cdbc refactor remove deprecated exceptions

@angular-devkit/schematics

Commit Type Description
d2ef386f4 refactor remove UpdateBuffer and rename UpdateBuffer2 to UpdateBuffer

@ngtools/webpack

Commit Type Description
c8ac660d8 refactor remove NGCC integration

15.2.8 (2023-05-03)

@angular/cli

Commit Type Description
069dcdf0c docs improve wording in doc command version description

15.2.7 (2023-04-26)

@angular/cli

Commit Type Description
f4a6dac87 fix process keeps running when analytics are enabled
f9b2fb1c4 perf register CLI commands lazily

@schematics/angular

Commit Type Description
d9aefd6da fix replace vscode launch type from pwa-chrome to chrome

15.2.6 (2023-04-12)

@schematics/angular

Commit Type Description
f0b257ef4 fix ignore hidden directories when running browserlist migration

15.2.5 (2023-04-05)

@angular/cli

Commit Type Description
db173d7ed fix collect tech information

Special Thanks

Alan Agius

15.2.4 (2023-03-16)

@angular-devkit/build-angular

Commit Type Description
f74bfea24 fix update webpack dependency to 5.76.1

Special Thanks

Alan Agius

14.2.11 (2023-03-16)

@angular-devkit/build-angular

Commit Type Description
ddd33bf38 fix update webpack dependency to 5.76.1

Special Thanks

Alan Agius and Joey Perrott

13.3.11 (2023-03-16)

@angular-devkit/build-angular

Commit Type Description
50fa9300f fix update webpack dependency to 5.76.1

Special Thanks

Alan Agius and Joey Perrott

15.2.3 (2023-03-15)

@angular-devkit/build-angular

Commit Type Description
a93680585 fix correct wrap ES2022 classes with static properties

Special Thanks

Alan Agius and Paul Gschwendtner

15.2.2 (2023-03-08)

@angular-devkit/schematics-cli

Commit Type Description
dfd03aa7c fix correctly transform numbers from prompts

@angular-devkit/build-angular

Commit Type Description
eb22f634f fix build optimizer support for non spec-compliant ES2022 class static properties

Special Thanks

Alan Agius

15.2.1 (2023-03-01)

@angular-devkit/build-angular

Commit Type Description
9a5609a44 fix improve parsing of error messages

Special Thanks

Alan Agius and Paul Gschwendtner

15.2.0 (2023-02-22)

@angular/cli

Commit Type Description
0f58a17c4 feat log number of files update during ng update

@angular-devkit/schematics-cli

Commit Type Description
ecf43090d feat auto detect package manager (#24305)

@angular-devkit/build-angular

Commit Type Description
01b3bcf89 feat add Less stylesheet support to experimental esbuild-based builder
09af70743 feat implement node module license extraction for esbuild builder
bbc1a4f0d feat support CommonJS dependency checking in esbuild
8cf0d17fb feat support JIT compilation with esbuild
3f6769ef9 fix allow empty scripts to be optimized
421417a36 fix avoid CommonJS warning for zone.js in esbuild

Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Jason Bedard, Joey Perrott, Marvin and Paul Gschwendtner

15.1.6 (2023-02-15)

@angular/cli

Commit Type Description
3d1f48fa2 fix add set SessionEngaged in GA
df07ab113 fix convert before option in .npmrc to Date
c787cc780 fix replace os.version with os.release.

@angular-devkit/build-angular

Commit Type Description
34a4a1bbf fix correctly copy safety-worker.js contents
88a33155d fix update the ECMA output warning message to be more actionable
384ad29c9 fix use babel default export helper in build optimizer
59aa1cdbd perf reduce rebuilt times when using the scripts option

Special Thanks

Alan Agius and Charles Lyding

15.1.5 (2023-02-08)

@angular/cli

Commit Type Description
b8bbe9688 fix error if Angular compiler is used in a schematic
fabbb8a93 fix only set DebugView when NG_DEBUG is passed

@schematics/angular

Commit Type Description
499173b5d fix remove bootstrapping wrapping in universal schematic

@angular-devkit/build-angular

Commit Type Description
e87134fe9 fix build optimizer support for spec-compliant downlevel class properties
d80adde2f fix do not fail compilation when spec pattern does not match
11be502e7 fix fix support of Safari TP versions
14e317d85 fix load polyfills and runtime as scripts instead of modules

Special Thanks

Alan Agius, Charles Lyding, Kristiyan Kostadinov and Ricardo

15.1.4 (2023-02-01)

@angular-devkit/build-angular

Commit Type Description
6c8fdfc69 fix load JavaScript bundles as modules in karma
317452e3b fix print server builder errors and warnings

Special Thanks

Alan Agius

15.1.3 (2023-01-25)

@angular/cli

Commit Type Description
de15ec576 fix handle extended schematics when retrieving aliases

@schematics/angular

Commit Type Description
2c04f4a8f fix update browserslist config to include last 2 Chrome version

@angular-devkit/build-angular

Commit Type Description
f31bf300b fix avoid undefined module path for Sass imports in esbuild
c152a4a13 fix update browserslist config to include last 2 Chrome versions

@angular-devkit/core

Commit Type Description
9de99202e fix handle number like strings in workspace writer

Special Thanks

Alan Agius, Charles Lyding and Doug Parker

15.1.2 (2023-01-18)

@angular/cli

Commit Type Description
387472a95 fix register schematic aliases when providing collection name in ng generate
5d9fd788a fix remove --to option from being required when using --from in ng update

@schematics/angular

Commit Type Description
0f5fb7e59 fix replace existing BrowserModule.withServerTransition calls when running universal schematic

@angular-devkit/build-angular

Commit Type Description
bf4639a6e fix prevent hanging initial build during exception with esbuild

Special Thanks

Alan Agius, Charles Lyding and Doug Parker

15.1.1 (2023-01-12)

@angular-devkit/build-angular

Commit Type Description
b94bf60ca fix update esbuild to 0.16.17

Special Thanks

Alan Agius

15.1.0 (2023-01-11)

Deprecations

@angular-devkit/schematics

  • The Observable based SchematicTestRunner.runSchematicAsync and SchematicTestRunner.runExternalSchematicAsync method have been deprecated in favor of the Promise based SchematicTestRunner.runSchematic and SchematicTestRunner.runExternalSchematic.

@schematics/angular

Commit Type Description
5b18ce154 feat add guardType as an alias of implements in guard schematic
dd2b65943 feat add configuration files generation schematic
8d000d156 feat add environments generation schematic
6c39a162b feat Add schematics for generating functional router guards and resolvers
62121f89a feat add sideEffects:false to library package.json
9299dea64 feat generate functional interceptors
49b313f27 fix add missing import for functional interceptor spec
2f92fe7e5 fix add missing semicolon in functional guard/resolver/interceptor
9b6d190f4 fix remove EnvironmentInjector import in functional guard spec
b11d3f644 fix use proper variable in functional guard spec
451975f76 fix use proper variable in resolver functional spec

@angular-devkit/build-angular

Commit Type Description
c29df6954 feat add assets option to server builder
839d0cb57 feat implement stats-json option for esbuild builder
216991b9d feat support inline component Sass styles with esbuild builder
7c87ce47c fix ensure Sass load paths are resolved from workspace root
7a063238b fix explicitly send options to JS transformer workers
22cba7937 fix provide an option to exclude specs in Karma builder
20376649c fix transform async generator class methods for Zone.js support
0520608f6 fix use relative css resource paths in esbuild JSON stats
0c01532cb perf use worker pool for JavaScript transforms in esbuild builder

@angular-devkit/schematics

Commit Type Description
207358afb feat add runSchematic and runExternalSchematic methods

Special Thanks

Alan Agius, Andrew Scott, Charles Lyding, Cédric Exbrayat, Doug Parker, Felix Hamann, Jason Bedard, Joey Perrott and Kristiyan Kostadinov

15.0.5 (2023-01-06)

@angular-devkit/build-angular

Commit Type Description
c2030dec7 fix format esbuild error messages to include more information

Special Thanks

Alan Agius, Kristiyan Kostadinov, Paul Gschwendtner and aanchal

15.0.4 (2022-12-14)

@angular-devkit/build-angular

Commit Type Description
ccc8e0350 fix display actionable error when a style does not exist in Karma builder
507f756c3 fix downlevel class private methods when targeting Safari <=v15
a0da91dba fix include sources in generated
9fd356234 fix only set ngDevMode when script optimizations are enabled
8e85f4728 fix update css-loader to 6.7.3
b2d4415ca fix update locale setting snippet to use globalThis.

Special Thanks

Alan Agius and Charles Lyding

15.0.3 (2022-12-07)

@angular-devkit/build-angular

Commit Type Description
3d9971edb fix default preserve symlinks to Node.js value for esbuild
24f4b51d2 fix downlevel class fields with Safari <= v15 for esbuild
45afc42db fix downlevel class properties when targeting Safari <=v15
e6461badf fix prevent optimization adding unsupported ECMASCript features

Special Thanks

Charles Lyding, Dominic Elm and Paul Gschwendtner

15.0.2 (2022-11-30)

@angular-devkit/build-angular

Commit Type Description
2891d5bc9 fix correctly set Sass quietDeps and verbose options

@ngtools/webpack

Commit Type Description
d9cc4b028 fix elide unused type references

Special Thanks

Alan Agius and Juuso Valkeejärvi

15.0.1 (2022-11-23)

@angular/cli

Commit Type Description
eda96def4 fix use global version of the CLI when running ng new

@schematics/angular

Commit Type Description
48426852b fix show warning when a TS Config is not found during migrations

@angular-devkit/build-angular

Commit Type Description
2af32fd3a fix hide loader paths in webpack warnings
19f5cc746 fix improve package deep import Sass index resolution in esbuild plugin
2220a907d fix use url function lexer to rebase Sass URLs

Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Joey Perrott and Piotr Wysocki

15.0.0 (2022-11-16)

Breaking Changes

@angular/cli

  • The Angular CLI no longer supports 16.10.x, 16.11.x and 16.12.x. Current minimum versions of Node.js are 14.20.0, 16.13.0 and 18.10.0.
  • Node.js versions older than 14.20 are no longer supported.
  • The 'path' option in schematics schema no longer has a special meaning. Use 'workingDirectory' smart default provider should be used instead.

@schematics/angular

  • Removed unused appDir option from Universal and App-Shell schematic. This option can safely be removed if present since it no longer has effect.

#

  • analyticsSharing option in the global angular configuration has been removed without replacement. This option was used to configure the Angular CLI to access to your own users' CLI usage data.

    If this option is used, it can be removed using ng config --global cli.analyticsSharing undefined.

  • analytics APIs have been removed without replacement from @angular-devkit/core and @angular-devkit/architect.

@angular-devkit/build-angular

  • TypeScript versions older than 4.8.2 are no longer supported.
  • The server builder bundleDependencies option has been removed. This option was used pre Ivy. Currently, using this option is unlikely to produce working server bundles.

    The externalDependencies option can be used instead to exclude specific node_module packages from the final bundle.

    • Deprecated support for tilde import has been removed. Please update the imports by removing the ~.

    Before

    @import '~font-awesome/scss/font-awesome';

    After

    @import 'font-awesome/scss/font-awesome';
    • By default the CLI will use Sass modern API, While not recommended, users can still opt to use legacy API by setting NG_BUILD_LEGACY_SASS=1.
  • Internally the Angular CLI now always set the TypeScript target to ES2022 and useDefineForClassFields to false unless the target is set to ES2022 or later in the TypeScript configuration. To control ECMA version and features use the Browerslist configuration.

  • require.context are no longer parsed. Webpack specific features are not supported nor guaranteed to work in the future.
  • Producing ES5 output is no longer possible. This was needed for Internet Explorer which is no longer supported. All browsers that Angular supports work with ES2015+
  • server builder bundleDependencies option now only accept a boolean value.
  • Deprecated support for Stylus has been removed. The Stylus package has never reached a stable version and its usage in the Angular CLI is minimal. It's recommended to migrate to another CSS preprocessor that the Angular CLI supports.

@angular-devkit/core

  • Workspace projects with missing root is now an error.

@ngtools/webpack

  • TypeScript versions older than 4.8.2 are no longer supported.

@schematics/angular

Commit Type Description
766d4a089 feat add migration to remove require calls from karma builder main file
d8bff4f1e feat Added --project-root option to the library schematics
597bfea1b feat drop polyfills.ts file from new templates
1c21e470c feat enable error on unknown properties and elements in tests
f2a0682dc feat generate new projects using TypeScript 4.8.2
b06421d15 feat mark projectRoot as non hidden option in application schematic
b6897dbb0 feat remove karma.conf.js from newly generated projects
301b5669a feat remove ngOnInit from component template
9beb878e2 feat remove Browserslist configuration files from projects
283b564d1 feat remove environment files in new applications
56a1e8f9f feat remove test.ts file from new projects
4e69e8050 fix add @angular/localize as type when localize package is installed
57d93fb7d fix mark project as required option
84e3f7727 fix remove empty lines
316a50d75 fix remove TypeScript target from universal schematic
69b221498 refactor remove deprecated appDir option

@angular/cli

Commit Type Description
4827d1b23 feat add support for Node.js version 18
4b623461a feat drop support for Node.js versions older than 14.20
3dea1fa71 fix add unique user id as user parameter in GA
af07aa340 fix add workspace information as part of analytics collection
83524f625 fix allow ng add to find prerelease versions when CLI is prerelease
22955f245 fix do not collect analytics when running in non TTY mode
35e5f4278 fix exclude @angular/localize@<10.0.0 from ng add pa… (#24152)
1a584364e fix exclude @angular/material@7.x from ng add package discovery
ff0382718 fix respect registry in RC when running update through yarn
774d349b7 refactor remove deprecated path handler

#

Commit Type Description
639a3071c refactor migrate analytics collector to use GA4
c969152de refactor remove analytics API from core and architect

@angular-devkit/build-angular

Commit Type Description
4ead45cab feat add ng-server-context when using app-shell builder
1c527a9da feat add esbuild-based builder initial support for fileReplacements
67324b3e5 feat add initial incremental code rebuilding to esbuild builder
3d94ca21b feat add initial watch support to esbuild-based builder
c592ec584 feat amend polyfills option in all builders to support an array of module specifiers
a95d130ef feat auto include @angular/localize/init when found in types
979bce45e feat auto include @angular/platform-server/init during server builds
fd4175357 feat drop support for TypeScript 4.6 and 4.7
15d3fc6dc feat export @angular/platform-server symbols in server bundle
05a98c029 feat karma builder main option is now optional
2b6029245 feat providing a karma config is now optional
9c13fce16 feat remove bundleDependencies from server builder
308e3a017 feat switch to use Sass modern API
1e5d4a750 feat use Browserslist to determine ECMA output
3ff391738 fix account for package.json exports fields with CSS import statements
001445982 fix account for package.json exports with Sass in esbuild builder
6280741ce fix add @angular/platform-server as an optional peer dependency
f9a2c3a12 fix allow both script and module sourceTypes to be localized
4cb27b803 fix avoid attempted resolve of external CSS URLs with esbuild builder
192e0e6d7 fix correct escaping of target warning text in esbuild builder
4fcb0a82b fix correctly resolve Sass partial files in node packages
fb5a66ae6 fix fix crash when Sass error occurs
b6df9c136 fix handle conditional exports in scripts and styles option
0ee7625d6 fix ignore cache path when watching with esbuild builder
e34bfe5eb fix ignore specs in node_modules when finding specs
f143171fd fix only add @angular/platform-server/init when package is installed.
3a1970b76 fix only import karma when running karma builder
8b84c18ed fix provide workaround for V8 object spread performance defect
7dd122ad5 fix rebase Sass url() values when using esbuild-based builder
2105964af fix resolve transitive dependencies in Sass when using Yarn PNP
54e1c01d8 fix show file replacement in TS missing file error in esbuild builder
6c3f281d9 fix show warning when using TypeScript target older then ES2022 in esbuild builder
8f8e02c32 fix support Yarn PNP resolution in modern SASS API
fc82e3bec fix update browerslist package
0d62157a3 fix update sourcemaps when rebasing Sass url() functions in esbuild builder
1518133db fix use relative sourcemap source paths for Sass in esbuild builder
fb4ead2ce fix wait during file watching to improve multi-save rebuilds for esbuild builder
b059fc735 fix warn when components styles sourcemaps are not generated when styles optimization is enabled
9d0872fb5 perf add initial global styles incremental rebuilds with esbuild builder
0fe6b3b75 perf add vendor chunking to server builder
8c915d414 perf avoid extra babel file reads in esbuild builder rebuilds
919fe2148 perf avoid extra TypeScript emits with esbuild rebuilds
92145c4a7 perf avoid template diagnostics for declaration files in esbuild builder
52db3c000 perf minimize Angular diagnostics incremental analysis in esbuild-based builder
feb06753d perf use esbuild-based builder to directly downlevel for await...of
9d83fb91b perf use Sass worker pool for Sass support in esbuild builder
45a94228f perf use Uint8Arrays for incremental caching with esbuild-based builder
f393b0928 refactor disable requireContext parsing
12931ba8c refactor remove deprecated ES5 support
7f1017e60 refactor remove old bundleDependencies enum logic
2ba44a433 refactor remove support for Stylus

@angular-devkit/core

Commit Type Description
ea4c0aa2e fix throw error when project has missing root property
de467f46d fix update logger forEach promiseCtor type

@angular-devkit/schematics

Commit Type Description
9b07b469b refactor remove UpdateBuffer and rename UpdateBuffer2 to UpdateBuffer

@ngtools/webpack

Commit Type Description
43bd0abc1 feat drop support for TypeScript 4.6 and 4.7
1c1f985b9 fix support inline style sourcemaps when using css-loader for component styles

Special Thanks

Alan Agius, Brent Schmidt, Charles Lyding, Cédric Exbrayat, Dariusz Ostolski, Doug Parker, Günhan Gülsoy, Jason Bedard, Lukas Spirig, Ruslan Lekhman, angular-robot[bot] and minijus

14.2.10 (2022-11-17)

@angular/cli

Commit Type Description
9ce386caf fix exclude @angular/localize@<10.0.0 from ng add pa… (#24152)
6446091a3 fix exclude @angular/material@7.x from ng add package discovery
7541e04f3 fix respect registry in RC when running update through yarn

@angular-devkit/build-angular

Commit Type Description
21cea0b42 fix update loader-utils to 3.2.1

Special Thanks

Alan Agius and Charles Lyding

13.3.10 (2022-11-17)

@angular-devkit/build-angular

Commit Type Description
f298ebbd5 fix update loader-utils to 3.2.1

Special Thanks

Alan Agius

14.2.9 (2022-11-09)

@angular-devkit/architect

Commit Type Description
e3e787767 fix default to failure if no builder result is provided

@angular-devkit/build-angular

Commit Type Description
12b2dc5a2 fix isolate zone.js usage when rendering server bundles

Special Thanks

Alan Agius and Charles Lyding

14.2.8 (2022-11-02)

@schematics/angular

Commit Type Description
4b0ee8ad1 fix guard schematics should include all guards (CanMatch)

Special Thanks

Andrew Scott

14.2.7 (2022-10-26)

@angular/cli

Commit Type Description
91b5bcbb3 fix disable version check during auto completion
02a3d7b71 fix skip node.js compatibility checks when running completion

@angular-devkit/build-angular

Commit Type Description
bebed9df8 fix issue dev-server support warning when using esbuild builder

Special Thanks

Alan Agius and Charles Lyding

14.2.6 (2022-10-12)

@angular/cli

Commit Type Description
1c9cf594f fix handle missing which binary in path
28b2cd18e fix skip downloading temp CLI when running ng update without package names

@angular-devkit/core

Commit Type Description
ad6928184 fix project extension warning message should identify concerned project

Special Thanks

AgentEnder and Alan Agius

14.2.5 (2022-10-05)

@angular-devkit/schematics

Commit Type Description
17eb20c77 fix throw more relevant error when Rule returns invalid null value

Special Thanks

Alan Agius and Charles Lyding

14.2.4 (2022-09-28)

@angular/cli

Commit Type Description
05b18f4e4 fix add builders and schematic names as page titles in collected analytics

Special Thanks

Alan Agius, Jason Bedard and Paul Gschwendtner

14.2.3 (2022-09-15)

@angular-devkit/build-angular

Commit Type Description
e7e0cb78f fix correctly display error messages that contain "at" text.
4756d7e06 fix watch symbolic links

@ngtools/webpack

Commit Type Description
1e3ecbdb1 perf avoid bootstrap conversion AST traversal where possible

Special Thanks

Alan Agius, Charles Lyding, Jason Bedard and Joey Perrott

14.2.2 (2022-09-08)

@angular/cli

Commit Type Description
5405a9b3b fix favor non deprecated packages during update

@schematics/angular

Commit Type Description
6bfd6a7fb fix update minimum Angular version to 14.2

@angular-devkit/build-angular

Commit Type Description
2b00bca61 fix allow esbuild-based builder to use SVG Angular templates
45c95e1bf fix change service worker errors to compilation errors
ecc014d66 fix handle service-worker serving with localize in dev-server
39ea128c1 fix handling of @media queries inside css layers
17b7e1bdf fix issue warning when using deprecated tilde imports
3afd784f1 fix watch index file when running build in watch mode

Special Thanks

Alan Agius, Charles Lyding, Jason Bedard and Joey Perrott

14.2.1 (2022-08-26)

@schematics/angular

Commit Type Description
e4ca46866 fix update ng-packagr version to ^14.2.0

Special Thanks

Alan Agius

14.2.0 (2022-08-25)

@angular/cli

Commit Type Description
596037010 fix add missing space after period in warning text

@angular-devkit/build-angular

Commit Type Description
44c25511e feat add ability to serve service worker when using dev-server
3fb569b5c feat switch to Sass modern API in esbuild builder
5bd03353a fix correct esbuild builder global stylesheet sourcemap URL
c4402b1bd fix correctly handle parenthesis in url
50c783307 fix use valid CSS comment for sourcemaps with Sass in esbuild builder
4c251853f perf avoid extra string creation with no sourcemaps for esbuild sass
d97640534 perf with esbuild builder only load Sass compiler when needed

Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Jason Bedard, Joey Perrott, Kristiyan Kostadinov and angular-robot[bot]

14.1.3 (2022-08-17)

@angular-devkit/core

Commit Type Description
365035cb3 fix update workspace extension warning to use correct phrasing

Special Thanks

AgentEnder, Alan Agius, Charles Lyding and Jason Bedard

14.1.2 (2022-08-10)

@angular-devkit/build-angular

Commit Type Description
3e19c842c fix avoid collect stats from chunks with no files
d0a0c597c fix correctly handle data URIs with escaped quotes in stylesheets
67b3a086f fix process stylesheet resources from url tokens with esbuild browser builder
e6c45c316 perf reduce babel transformation in esbuild builder
38b71bcc0 perf use esbuild in esbuild builder to downlevel native async/await

@ngtools/webpack

Commit Type Description
dd47a5e8c fix elide type only named imports when using emitDecoratorMetadata

Special Thanks

Alan Agius, Charles Lyding and Jason Bedard

14.1.1 (2022-08-03)

@angular/cli

Commit Type Description
4ee825bac fix catch clause variable is not an Error instance

@schematics/angular

Commit Type Description
83dcfb32f fix prevent numbers from class names

@angular-devkit/build-angular

Commit Type Description
ef6da4aad fix allow the esbuild-based builder to fully resolve global stylesheet packages
eed54b359 fix catch clause variable is not an Error instance
c98471094 fix correctly respond to preflight requests
94b444e4c fix correctly set ngDevMode in esbuilder

@angular-devkit/core

Commit Type Description
44c18082a fix classify string util should concat string without using a .

@angular/create

Commit Type Description
cb0d3fb33 fix use appropriate package manager to install dependencies

Special Thanks

Alan Agius, Charles Lyding, Jason Bedard and Paul Gschwendtner

14.1.0 (2022-07-20)

@angular/cli

Commit Type Description
3884b8652 fix add esbuild browser builder to workspace schema

@schematics/angular

Commit Type Description
707911d42 feat support controlling addDependency utility rule install behavior
a8fe4fcc3 fix Allow skipping existing dependencies in E2E schematic
b8bf3b480 fix only issue a warning for addDependency existing specifier

@angular-devkit/build-angular

Commit Type Description
a7709b718 feat add externalDependencies to the esbuild browser builder
248860ad6 feat add Sass file support to experimental esbuild-based builder
b06ae5514 feat add service worker support to experimental esbuild builder
b5f6d862b feat Identify third-party sources in sourcemaps
b3a14d056 fix allow third-party sourcemaps to be ignored in esbuild builder
53dd929e5 fix ensure esbuild builder sourcemap sources are relative to workspace

@angular-devkit/schematics

Commit Type Description
526cdb263 feat allow chain rule to accept iterables of rules

@angular/create

Commit Type Description
cfe93fbc8 feat add support for yarn create and npm init

Special Thanks

Alan Agius, Charles Lyding, Derek Cormier, Doug Parker, Jason Bedard, Joey Perrott, Paul Gschwendtner, Victor Porof and renovate[bot]

14.0.7 (2022-07-20)

@schematics/angular

Commit Type Description
f653bf4fb fix incorrect logo for Angular Material

@angular-devkit/build-angular

Commit Type Description
5810c2cc2 fix fallback to use projectRoot when sourceRoot is missing during coverage

@angular-devkit/core

Commit Type Description
2ba4678b6 fix add i18n as valid project extension
c2201c835 fix log name of invalid extension too

Special Thanks

Alan Agius, Fortunato Ventre, Katerina Skroumpelou and Kristiyan Kostadinov

13.3.9 (2022-07-20)

@angular-devkit/build-angular

Commit Type Description
0d62716ae fix update terser to address CVE-2022-25858

Special Thanks

Alan Agius and Charles Lyding

14.0.6 (2022-07-13)

@angular/cli

Commit Type Description
178550529 fix handle cases when completion is enabled and running in an older CLI workspace
10f24498e fix remove deprecation warning of no prefixed schema options

@schematics/angular

Commit Type Description
dfa6d73c5 fix remove browserslist configuration

@angular-devkit/build-angular

Commit Type Description
4d848c4e6 fix generate different content hashes for scripts which are changed during the optimization phase

@angular-devkit/core

Commit Type Description
2500f34a4 fix provide actionable warning when a workspace project has missing root property

Special Thanks

Alan Agius and martinfrancois

14.0.5 (2022-07-06)

@angular/cli

Commit Type Description
98a6aad60 fix during an update only use package manager force option with npm 7+
094aa16aa fix improve error message for project-specific ng commands when run outside of a project
e5e07fff1 fix show deprecated workspace config options in IDE

@schematics/angular

Commit Type Description
f9f970cab fix prevent importing RouterModule parallel to RoutingModule

@angular-devkit/build-angular

Commit Type Description
aa8ed532f fix disable glob mounting for patterns that start with a forward slash
c76edb8a7 fix don't override base-href in HTML when it's not set in builder
f64903528 fix improve detection of CommonJS dependencies
74dbd5fc2 fix support hidden component stylesheet sourcemaps with esbuild builder

@ngtools/webpack

Commit Type Description
7aed97561 fix do not run ngcc when node_modules does not exist

Special Thanks

Alan Agius, Charles Lyding, JoostK and Paul Gschwendtner

14.0.4 (2022-06-29)

@angular/cli

Commit Type Description
fc72c625b fix correctly handle --collection option in ng new
f5badf221 fix improve global schema validation
ed302ea4c fix remove color from help epilogue

@schematics/angular

Commit Type Description
c58c66c0d fix use sourceRoot instead of src in universal schematic

@angular-devkit/architect

Commit Type Description
88acec1fd fix complete builders on the next event loop iteration

@angular-devkit/build-angular

Commit Type Description
694b73dfa fix exit dev-server when CTRL+C is pressed
6d4782199 fix exit localized builds when CTRL+C is pressed
282baffed fix hide stacktraces from webpack errors
c4b0abf5b fix set base-href in service worker manifest when using i18n and app-shell

@ngtools/webpack

Commit Type Description
33f1cc192 fix restore process title after NGCC is executed
6796998bf fix show a compilation error on invalid TypeScript version

Special Thanks

Alan Agius, Charles Lyding and Tim Bowersox

14.0.3 (2022-06-23)

@angular/cli

Commit Type Description
b3db91baf fix disable version check when running ng completion commands
cdab9fa74 fix provide an actionable error when using --configuration with ng run
5521648e3 fix temporarily handle boolean options in schema prefixed with no

@angular-devkit/build-angular

Commit Type Description
5e960ce24 fix fix incorrect glob cwd in karma when using --include option
1b5e92075 fix handle codeCoverageExclude correctly in Windows
ff6d81a45 fix ignore supported browsers during i18n extraction

@angular-devkit/core

Commit Type Description
170c16f2e fix workspace writer skip creating empty projects property

Special Thanks

Alan Agius, Charles Lyding and Paul Gschwendtner

14.0.2 (2022-06-15)

@angular/cli

Commit Type Description
23095e9c3 fix show more actionable error when command is ran in wrong scope

@schematics/angular

Commit Type Description
5a486cb64 fix remove vscode testing configurations for minimal workspaces

@angular-devkit/build-angular

Commit Type Description
9d88c96d8 fix replace fallback locale for en-US

Special Thanks

Alan Agius and Julien Marcou

13.3.8 (2022-06-15)

@angular/pwa

Commit Type Description
c7f994f88 fix add peer dependency on Angular CLI

Special Thanks

Alan Agius

14.0.1 (2022-06-08)

@angular/cli

Commit Type Description
e4fb96657 fix add text to help output to indicate that additional commands are available when ran in different context
7952e5790 fix avoid creating unnecessary global configuration
66a1d6b9d fix correct scope cache command
e2d964289 fix correctly print package manager name when an install is needed
75fd3330d fix during an update only use package manager force option with npm 7+
e223890c1 fix ensure full process exit with older local CLI versions
0cca3638a fix handle project being passed as a flag
b1451cb5e fix improve resilience of logging during process exit
17fec1357 fix provide actionable error when project cannot be determined

@schematics/angular

Commit Type Description
73dcf39c6 fix remove strict setting under application project

@angular-devkit/build-angular

Commit Type Description
c788d5b56 fix log modified and removed files when using the verbose option
6e8fe0ed5 fix replace dev-server socket path from /ws to /ng-cli-ws
651adadf4 fix update Angular peer dependencies to 14.0 stable

@angular/pwa

Commit Type Description
cfd264d06 fix add peer dependency on Angular CLI

Special Thanks

Alan Agius, Charles Lyding and Doug Parker

14.0.0 (2022-06-02)

Breaking Changes

@angular/cli

  • Several changes to the ng analytics command syntax.

    • ng analytics project <setting> has been replaced with ng analytics <setting>
    • ng analytics <setting> has been replaced with ng analytics <setting> --global
  • Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later.

  • Support for TypeScript 4.4 and 4.5 has been removed. Please update to TypeScript 4.6.
  • --all option from ng update has been removed without replacement. To update packages which don’t provide ng update capabilities in your workspace package.json use npm update, yarn upgrade-interactive or yarn upgrade instead.
  • Deprecated option --prod has been removed from all builders. --configuration production/-c production should be used instead if the default configuration of the builder is not configured to production.
  • --configuration cannot be used with ng run. Provide the configuration as part of the target. Ex: ng run project:builder:configuration.
  • Deprecated ng x18n and ng i18n-extract commands have been removed in favor of ng extract-i18n.
  • Several changes in the Angular CLI commands and arguments handling.

    • ng help has been removed in favour of the —-help option.
    • ng —-version has been removed in favour of ng version and ng v.
    • Deprecated camel cased arguments are no longer supported. Ex. using —-sourceMap instead of —-source-map will result in an error.
    • ng update, —-migrate-only option no longer accepts a string of migration name, instead use —-migrate-only -—name <migration-name>.
    • —-help json help has been removed.

@angular-devkit/architect-cli

  • camel case arguments are no longer allowed.

@angular-devkit/schematics-cli

  • camel case arguments are no longer allowed.

@angular-devkit/build-angular

  • browser and karma builders script and styles options input files extensions are now validated.

    Valid extensions for scripts are:

    • .js
    • .cjs
    • .mjs
    • .jsx
    • .cjsx
    • .mjsx

    Valid extensions for styles are:

    • .css
    • .less
    • .sass
    • .scss
    • .styl
  • We now issue a build time error since importing a CSS file as an ECMA module is non standard Webpack specific feature, which is not supported by the Angular CLI.

    This feature was never truly supported by the Angular CLI, but has as such for visibility.

  • Reflect metadata polyfill is no longer automatically provided in JIT mode Reflect metadata support is not required by Angular in JIT applications compiled by the CLI. Applications built in AOT mode did not and will continue to not provide the polyfill. For the majority of applications, the reflect metadata polyfill removal should have no effect. However, if an application uses JIT mode and also uses the previously polyfilled reflect metadata JavaScript APIs, the polyfill will need to be manually added to the application after updating. To replicate the previous behavior, the core-js package should be manually installed and the import 'core-js/proposals/reflect-metadata'; statement should be added to the application's polyfills.ts file.

  • NG_BUILD_CACHE environment variable has been removed. cli.cache in the workspace configuration should be used instead.
  • The deprecated showCircularDependencies browser and server builder option has been removed. The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tools.

@angular-devkit/core

  • parseJson and ParseJsonOptions APIs have been removed in favor of 3rd party JSON parsers such as jsonc-parser.
  • The below APIs have been removed without replacement. Users should leverage other Node.js or other APIs.
    • fs namespace
    • clean
    • mapObject

@angular-devkit/schematics

  • Schematics NodePackageInstallTask will not execute package scripts by default The NodePackageInstallTask will now use the package manager's --ignore-scripts option by default. The --ignore-scripts option will prevent package scripts from executing automatically during an install. If a schematic installs packages that need their install/postinstall scripts to be executed, the NodePackageInstallTask now contains an allowScripts boolean option which can be enabled to provide the previous behavior for that individual task. As with previous behavior, the allowScripts option will prevent the individual task's usage of the --ignore-scripts option but will not override the package manager's existing configuration.
  • Deprecated analytics property has been removed from TypedSchematicContext interface

@ngtools/webpack

  • ivy namespace has been removed from the public API.

    • ivy.AngularWebpackPlugin -> AngularWebpackPlugin
    • ivy.AngularPluginOptions -> AngularPluginOptions

Deprecations

@angular/cli

  • The defaultCollection workspace option has been deprecated in favor of schematicCollections.

    Before

    "defaultCollection": "@angular/material"

    After

    "schematicCollections": ["@angular/material"]
  • The defaultProject workspace option has been deprecated. The project to use will be determined from the current working directory.

@angular-devkit/core

    • ContentHasMutatedException, InvalidUpdateRecordException, UnimplementedException and MergeConflictException symbol from @angular-devkit/core have been deprecated in favor of the symbol from @angular-devkit/schematics.
    • UnsupportedPlatformException - A custom error exception should be created instead.

@angular/cli

Commit Type Description
afafa5788 feat add --global option to ng analytics command
bb550436a feat add ng analytics info command
e5bf35ea3 feat add ng cache command
7ab22ed40 feat add disable/enable aliases for off/on ng analytics command
4212fb8de feat add prompt to set up CLI autocompletion
0316dea67 feat add prompts on missing builder targets
607a723f7 feat add support for auto completion
366cabc66 feat add support for multiple schematics collections
036327e9c feat deprecated defaultProject option
fb0622893 feat don't prompt to set up autocompletion for ng update and ng completion commands
4ebfe0341 feat drop support for Node.js 12
022d8c7bb feat make ng completion set up CLI autocompletion by modifying .bashrc files
2e15df941 feat remember after prompting users to set up autocompletion and don't prompt again
7fa3e6587 feat support TypeScript 4.6.2
9e69331fa feat use PNPM as package manager when pnpm-lock.yaml exists
6f6b453fb fix ng doc doesn't open browser in Windows
8e66c9188 fix ng g show description from collection.json if not present in schema.json
9edeb8614 fix add long description to ng update
160cb0718 fix correctly handle --search option in ng doc
d46cf6744 fix display option descriptions during auto completion
09f8659ce fix display package manager during ng update
a49cdfbfe fix don't prompt for analytics when running ng analytics
4b22593c4 fix ensure all available package migrations are executed
054ae02c2 fix favor project in cwd when running architect commands
ff4eba3d4 fix handle duplicate arguments
5a8bdeb43 fix hide private schematics from ng g help output
644f86d55 fix improve error message for Windows autocompletion use cases
3012036e8 fix populate path with working directory in nested schematics
8a396de6a fix print entire config when no positional args are provided to ng config
bdf2b9bfa fix print schematic errors correctly
efc3c3225 fix remove analytics prompt postinstall script
bf15b202b fix remove cache path from global valid paths
142da460b fix remove incorrect warning during ng update
96a0d92da fix remove JSON serialized description from help output
78460e995 fix remove type casting and add optional chaining for current in optionTransforms
e5bdadac4 fix skip prompt or warn when setting up autocompletion without a global CLI install
ca401255f fix sort commands in help output
b97772dfc fix support silent package installs with Yarn 2+
87cd5cd43 fix workaround npm 7+ peer dependency resolve errors during updates
d94a67353 refactor remove deprecated --all option from ng update
2fc7c73d7 refactor remove deprecated --prod flag
b69ca3a7d refactor remove deprecated command aliases for extract-i18n.
2e0493130 refactor replace command line arguments parser

@schematics/angular

Commit Type Description
7b78b7840 feat add --standalone to ng generate
e49220fba feat add migratiom to remove defaultProject in workspace config
3fa38b08b feat introduce addDependency rule to utilities
b07ccfbb1 feat introduce a utility subpath export for Angular rules and utilities
7e7de6858 feat update Angular dependencies to use ^ as version prefix
69ecddaa7 feat update new and existing projects compilation target to ES2020
7e8e42063 fix add migration to remove package.json in libraries secondary entrypoints
b928d973e fix alphabetically order imports during component generation
09a71bab6 fix Consolidated setup with a single beforeEach()
1921b07ee fix don't add path mapping to old entrypoint definition file
c927c038b fix remove @types/node from new projects
27cb29438 fix remove extra space in standalone imports

@angular-devkit/architect-cli

Commit Type Description
c7556b62b refactor replace parser with yargs-parser

@angular-devkit/schematics-cli

Commit Type Description
5330d52ae refactor replace parser with yargs-parser

@angular-devkit/build-angular

Commit Type Description
00186fb93 feat add initial experimental esbuild-based application browser builder
d23a168b8 feat validate file extensions for scripts and styles options
2adf252dc fix add es2015 exports package condition to browser-esbuild
72e820e7b fix better handle Windows paths in esbuild experimental builder
587082fb0 fix close compiler on Karma exit
c52d10d1f fix close dev-server on error
48630ccfd fix detect tailwind.config.cjs as valid tailwindcss configuration
4d5f6c659 fix downlevel libraries based on the browserslist configurations
1a160dac0 fix ensure karma sourcemap support on Windows
07e776ea3 fix fail build when importing CSS files as an ECMA modules
ac1383f9e fix properly handle locally-built APF v14 libraries
966d25b55 fix remove unneeded JIT reflect metadata polyfill
b8564a638 refactor remove deprecated NG_BUILD_CACHE environment variable
0a1cd584d refactor remove deprecated showCircularDependencies browser and server builder option

@angular-devkit/core

Commit Type Description
c5b3e9299 refactor deprecate unused exception classes
67144b9e5 refactor remove deprecated parseJson and ParseJsonOptions APIs
a0c02af7e refactor remove deprecated fs, object and array APIs

@angular-devkit/schematics

Commit Type Description
c9c781c7d feat add parameter to listSchematicNames to allow returning hidden schematics.
0e6425fd8 feat disable package script execution by default in NodePackageInstallTask
25498ad5b feat re-export core string helpers from schematics package
464cf330a feat support null for options parameter from OptionTransform type
33f9f3de8 feat support reading JSON content directly from a Tree
01297f450 feat support reading text content directly from a Tree
48f9b79bc fix support ignore scripts package installs with Yarn 2+
3471cd6d8 fix support quiet package installs with Yarn 2+
44c1e6d0d refactor remove deprecated analytics property

@angular/pwa

Commit Type Description
243cb4062 fix remove @schematics/angular utility deep import usage

@ngtools/webpack

Commit Type Description
0c344259d fix update peer dependency to reflect TS 4.6 support
044101554 perf use Webpack's built-in xxhash64 support
9277eed1d refactor remove deprecated ivy namespace

Special Thanks

Adrien Crivelli, Alan Agius, Charles Lyding, Cédric Exbrayat, Daniil Dubrava, Doug Parker, Elton Coelho, George Kalpakas, Jason Bedard, Joey Perrott, Kristiyan Kostadinov, Paul Gschwendtner, Pawel Kozlowski, Tobias Speicher and alkavats1

13.3.7 (2022-05-25)

@angular-devkit/build-angular

Commit Type Description
a54018d8f fix add debugging and timing information in JavaScript and CSS optimization plugins

Special Thanks

Alan Agius and Joey Perrott

13.3.6 (2022-05-18)

@angular/cli

Commit Type Description
e20964c43 fix resolve relative schematic from angular.json instead of current working directory

@angular-devkit/build-angular

Commit Type Description
16fec8d58 fix update babel-loader to 8.2.5

Special Thanks

Alan Agius, Charles Lyding, Jason Bedard and Paul Gschwendtner

13.3.5 (2022-05-04)

@angular-devkit/build-angular

Commit Type Description
6da0910d3 fix update @ampproject/remapping to 2.2.0

Special Thanks

Alan Agius, Charles Lyding and Paul Gschwendtner

13.3.4 (2022-04-27)

@angular/cli

Commit Type Description
f4da75656 fix change wrapping of schematic code

@angular-devkit/build-angular

Commit Type Description
5d0141bfb fix correctly resolve custom service worker configuration file

Special Thanks

Charles Lyding and Wagner Maciel

13.3.3 (2022-04-13)

@angular-devkit/build-angular

Commit Type Description
d38b247cf fix display debug logs when using the --verbose option

@angular-devkit/build-webpack

Commit Type Description
5682baee4 fix emit devserver setup errors

Special Thanks

Alan Agius

13.3.2 (2022-04-06)

@angular/cli

Commit Type Description
49dc63d09 fix ensure lint command auto-add exits after completion

@schematics/angular

Commit Type Description
bbe74b87e fix provide actionable error message when routing declaration cannot be found

@angular-devkit/build-angular

Commit Type Description
c97c8e7c9 fix update minimatch dependency to 3.0.5

Special Thanks

Alan Agius, Charles Lyding and Morga Cezary

13.3.1 (2022-03-30)

@schematics/angular

Commit Type Description
cf3cb2ecf fix fix extra comma added when use --change-detection=onPush and --style=none to generate a component

@angular-devkit/architect-cli

Commit Type Description
9f8d4dea0 fix update minimist to 1.2.6

@angular-devkit/schematics-cli

Commit Type Description
ba3486de9 fix update minimist to 1.2.6

@angular-devkit/benchmark

Commit Type Description
1f7fa6970 fix update minimist to 1.2.6

@angular-devkit/build-angular

Commit Type Description
293526c31 fix add node_modules prefix to excludes RegExp
58ed97410 fix allow Workers in Stackblitz
4cd2331d3 fix don't override asset info when updating assets

@angular-devkit/core

Commit Type Description
c7c75820f fix add Angular CLI major version as analytics dimension

Special Thanks

Alan Agius and gauravsoni119

12.2.17 (2022-03-31)

@angular-devkit/architect-cli

Commit Type Description
ccb0f95f3 fix update minimist to 1.2.6

@angular-devkit/schematics-cli

Commit Type Description
abcdf4df2 fix update minimist to 1.2.6

@angular-devkit/benchmark

Commit Type Description
2656a330e fix update minimist to 1.2.6

Special Thanks

Alan Agius

11.2.19 (2022-03-30)

@angular-devkit/architect-cli

Commit Type Description
75caa1143 fix update minimist to 1.2.6

@angular-devkit/schematics-cli

Commit Type Description
80d479e9f fix update minimist to 1.2.6

@angular-devkit/benchmark

Commit Type Description
f61cd1a79 fix update minimist to 1.2.6

Special Thanks

Alan Agius and Doug Parker

13.3.0 (2022-03-16)

@angular/cli

Commit Type Description
c995ed5e8 feat support TypeScript 4.6

Special Thanks

Alan Agius and Doug Parker

13.2.6 (2022-03-09)

@angular-devkit/build-angular

Commit Type Description
90a5531b1 fix ignore css only chunks during naming

Special Thanks

Alan Agius, Charles Lyding and Daniele Maltese

13.2.5 (2022-02-23)

@angular-devkit/build-angular

Commit Type Description
acf1e5e4a fix don't rename blocks which have a name
7a493979c fix update terser to 5.11.0

Special Thanks

Alan Agius and Paul Gschwendtner

13.2.4 (2022-02-17)

@angular-devkit/build-angular

Commit Type Description
48c655ac9 fix update esbuild to 0.14.22
c0736ea0b fix update license-webpack-plugin to 4.0.2

Special Thanks

Alan Agius, Anner Visser and Charles Lyding

13.2.3 (2022-02-09)

@angular-devkit/build-angular

Commit Type Description
8c8377fee fix block Karma from starting until build is complete

@ngtools/webpack

Commit Type Description
1317e470e fix support locating PNPM lock file during NGCC processing

Special Thanks

Alan Agius, Derek Cormier and Joey Perrott

13.2.2 (2022-02-02)

@angular-devkit/build-angular

Commit Type Description
cc5505cfc fix add whatwg-url to downlevel exclusion list
ff54b49e7 fix ensure to use content hash as filenames hashing mechanism
b0e2bb289 perf update license-webpack-plugin to 4.0.1

@angular-devkit/core

Commit Type Description
c8826a973 fix correctly resolve schema references defaults

Special Thanks

Alan Agius, Derek Cormier and Joey Perrott

13.2.1 (2022-01-31)

@angular-devkit/build-angular

Commit Type Description
acd752773 fix invalid browsers version ranges

Special Thanks

Alan Agius

13.2.0 (2022-01-26)

@schematics/angular

Commit Type Description
41a828e20 fix updated Angular new project version to v13.2.0-next.0

@angular-devkit/architect

Commit Type Description
f2c6b2b7e fix correctly handle ESM builders

@angular-devkit/build-angular

Commit Type Description
cbe028e37 feat expose i18nDuplicateTranslation option of browser and server builders
509322b62 fix Don't use TAILWIND_MODE=watch

@angular-devkit/build-webpack

Commit Type Description
820ff2a3e fix correctly handle ESM webpack configurations

Special Thanks

Alan Agius, Cédric Exbrayat, Derek Cormier, Doug Parker, Joey Perrott, Jordan Pittman, grant-wilson and minijus

13.1.4 (2022-01-19)

@angular-devkit/build-angular

Commit Type Description
2f2069dba fix disable parsing new URL syntax
bddd0fb9f fix support ESNext as target for JavaScript optimizations

Special Thanks

Alan Agius, Derek Cormier and Doug Parker

13.1.3 (2022-01-12)

@angular/cli

Commit Type Description
4c9d72c65 fix remove extra space in Unable to find compatible package during ng add

@schematics/angular

Commit Type Description
9b07191b1 fix set skipTest flag for resolvers when using ng new --skip-tests

@angular-devkit/build-angular

Commit Type Description
5b39e0eca fix automatically purge stale build cache entries
6046e06b9 fix correctly resolve core-js/proposals/reflect-metadata
de68daa55 fix enable :where CSS pseudo-class
6a617ff4a fix ensure $localize calls are replaced in watch mode
92b4e067b fix load translations fresh start
d674dcd1a fix localized bundle generation fails in watch mode
6876ad36e fix use contenthash instead of chunkhash for chunks
11fd02105 fix websocket client only injected if required
6ca0e41a9 perf update esbuild to 0.14.11

Special Thanks

Alan Agius, Bill Barry, Derek Cormier, Elio Goettelmann, Joey Perrott, Kasper Christensen, Lukas Spirig and Zoltan Lehoczky

12.2.15 (2022-01-12)

@angular-devkit/build-angular

Commit Type Description
526115fdb fix updated webpack-dev-server to latest security patch

Special Thanks

Doug Parker and iRealNirmal

11.2.18 (2022-01-12)

@angular-devkit/build-angular

Commit Type Description
534678450 fix updated webpack-dev-server to latest security patch

Special Thanks

Doug Parker and iRealNirmal

13.2.0-next.1 (2021-12-15)

@schematics/angular

Commit Type Description
41a828e20 fix updated Angular new project version to v13.2.0-next.0

@angular-devkit/build-angular

Commit Type Description
0323a35b4 fix add tailwindcss support for version 3
471930007 fix display FS cache information when verbose option is used
f1d2873ca fix only extract CSS styles when are specified in styles option

@ngtools/webpack

Commit Type Description
b03b9eefe perf reduce redundant module rebuilds when cache is restored

Special Thanks

Alan Agius, Cédric Exbrayat, Derek Cormier and Doug Parker

13.1.2 (2021-12-15)

@angular-devkit/build-angular

Commit Type Description
1ddbd75ae fix add tailwindcss support for version 3
adf925c07 fix display FS cache information when verbose option is used
09c3826c9 fix only extract CSS styles when are specified in styles option

@ngtools/webpack

Commit Type Description
f31d7f79d perf reduce redundant module rebuilds when cache is restored

Special Thanks

Alan Agius, Derek Cormier and Doug Parker

11.2.17 (2021-12-16)

@angular/cli

Commit Type Description
1efff8f82 fix exclude deprecated packages with removal migration from update

Special Thanks

Alan Agius and Doug Parker

11.2.16 (2021-12-15)

@angular/cli

Commit Type Description
f456b0962 fix error when updating Angular packages across multi-major migrations
886d2511e fix logic which determines which temp version of the CLI is to be download during ng update
776d1210a fix update ng update output for Angular packages

Special Thanks

Alan Agius and Doug Parker

10.2.4 (2021-12-15)

@angular/cli

Commit Type Description
745d77728 fix error when updating Angular packages across multi-major migrations
460ea21b5 fix logic which determines which temp version of the CLI is to be download during ng update
03da12899 fix update ng update output for Angular packages

@schematics/angular

Commit Type Description
d6582d489 fix change karma-jasmine-html-reporter dependency to use tilde

Special Thanks

Alan Agius, Charles Lyding, Doug Parker and Joey Perrott

13.1.1 (2021-12-10)

@schematics/angular

Commit Type Description
a315b968a fix updated Angular new project version to v13.1.0

Special Thanks

Alan Agius, Cédric Exbrayat and Derek Cormier

13.1.0 (2021-12-09)

@angular/cli

Commit Type Description
56f802b7d feat ask to install angular-eslint when running ng lint in new projects
ecd9fb5c7 feat provide more detailed error for not found builder
0b6071af3 fix ng doc does open browser on Windows

@schematics/angular

Commit Type Description
d5d9f042f feat add VS Code configurations when generating a new workspace
f95cc8281 feat generate new projects using TypeScript 4.5
21809e14c feat loosen project name validation

@angular-devkit/schematics-cli

Commit Type Description
339bab06c feat generate new projects using TypeScript 4.5

@angular-devkit/build-angular

Commit Type Description
bc8563760 feat add estimated transfer size to build output report
bc17cf0cd feat colorize file raw sizes based on failing budgets
3c681b68d feat set dir attribute when using localization
6d0f99a2d feat support JSON comments in dev-server proxy configuration file
9300545e6 feat watch i18n translation files with dev server
9bacba342 fix differentiate components and global styles using file query instead of filename
7408511da fix display cleaner errors
d55fc62ef fix fallback to use language ID to set the dir attribute
4c288b8bd fix lazy modules bundle budgets
562dc6a89 fix prefer ES2015 entrypoints when application targets ES2019 or lower
ac66e400c fix Sass compilation in StackBlitz webcontainers
e1bac5bbb fix update Angular peer dependencies to v13.1 prerelease
789ddfaeb perf disable webpack backwards compatible APIs

@ngtools/webpack

Commit Type Description
5402f99f8 fix add cjs and mjs to passthrough files
10d4ede2d fix handle promise rejection during Angular program analyzes

Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Ferdinand Malcher, Joey Perrott and Ruslan Lekhman

12.2.14 (2021-12-07)

@angular/cli

Commit Type Description
30295b33e fix error when updating Angular packages across multi-major migrations
e07bd059e fix logic which determines which temp version of the CLI is to be download during ng update
ce1ec0420 fix update ng update output for Angular packages
dd9f8df52 fix update pacote to 12.0.2

Special Thanks

Alan Agius and Doug Parker

13.0.4 (2021-12-01)

@angular/cli

Commit Type Description
ded7b5c06 fix exit with a non-zero error code when migration fails during ng update
250a58b48 fix logic which determines which temp version of the CLI is to be download during ng update

@schematics/angular

Commit Type Description
372e2e633 fix address eslint linting failures in test.ts

@angular-devkit/build-angular

Commit Type Description
b835389c8 fix correctly extract messages when using cached build (#22266)
647a5f0b1 fix don't watch nested node_modules when polling is enabled
4d01d4f72 fix transform remapped sourcemap into a plain object

@ngtools/webpack

Commit Type Description
4d918ef99 fix JIT mode CommonJS accessing inexistent default property

Special Thanks

Alan Agius, Billy Lando, David-Emmanuel DIVERNOIS and Derek Cormier

13.0.3 (2021-11-17)

Special Thanks

Alan Agius, Joey Perrott and Krzysztof Platis

13.0.2 (2021-11-10)

@angular/cli

Commit Type Description
34047b1ad fix avoid redirecting @angular/core in Angular migrations
ff4538e98 fix favor ng-update packageGroupName in ng update output

@schematics/angular

Commit Type Description
1bc00b6fe fix migrate ng-packagr configurations in package.json
9ea74a13d fix show warning when migrating ng-packagr JS configurations

@angular-devkit/build-angular

Commit Type Description
35164bf92 fix don't restore input of type file during HMR
facb5d8ff fix don't show [NG HMR] Unknown input type when restoring file type input
ef8815d04 fix improve sourcemap fidelity during code-coverage
966a1334a fix suppress "@charset" must be the first rule in the file warning
1cdc24da0 fix update Angular peer dependencies to 13.0 stable

Special Thanks

Alan Agius, Charles Lyding, Joey Perrott and Paul Gschwendtner

13.0.1 (2021-11-03)

@schematics/angular

Commit Type Description
40f599241 fix updated Angular new project version to v13.0.0

Special Thanks

Charles Lyding and Joey Perrott

12.2.13 (2021-11-03)

@angular-devkit/build-angular

Commit Type Description
a2bd940e4 fix add verbose logging for differential loading and i18n

Special Thanks

Charles Lyding and Doug Parker

13.0.0 (2021-11-03)

Breaking Changes

@angular/cli

  • We drop support for Node.js versions prior to 12.20.

@schematics/angular

  • classlist.js and web-animations-js are removed from application polyfills and uninstalled from the package. These were only needed for compatibility with Internet Explorer, which is no longer needed now that Angular only supports evergreen browsers. See: https://angular.dev/reference/versions#browser-support.

Add the following to the polyfills file for an app to re-add these packages:

import 'classlist.js';
import 'web-animations-js';

And then run:

npm install classlist.js web-animations-js --save
  • We removed several deprecated @schematics/angular deprecated options.
  • lintFix have been removed from all schematics. ng lint --fix should be used instead.
  • legacyBrowsers have been removed from the application schematics since IE 11 is no longer supported.
  • configuration has been removed from the web-worker as it was unused.
  • target has been removed from the service-worker as it was unused.

@angular-devkit/build-angular

  • Support for karma-coverage-instanbul-reporter has been dropped in favor of the official karma coverage plugin karma-coverage.

  • Support for node-sass has been removed. sass will be used by default to compile SASS and SCSS files.

  • NG_PERSISTENT_BUILD_CACHE environment variable option no longer have effect. Configure cli.cache in the workspace configuration instead.

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "cli": {
    "cache": {
      "enabled": true,
      "path": ".custom-cache-path",
      "environment": "all"
    }
  }
  ...
}
  • Calling BuilderContext.scheduleBuilder() with a builder from @angular-devkit/build-angular now requires passing the target property in the 3rd argument, like in the following example:

    context.scheduleBuilder('@angular-devkit/build-angular:ng-packagr', options, {
      target: context.target,
    });
  • The automatic inclusion of Angular-required ES2015 polyfills to support ES5 browsers has been removed. Previously when targeting ES5 within the application's TypeScript configuration or listing an ES5 requiring browser in the browserslist file, Angular-required polyfills were included in the built application. However, with Angular no longer supporting IE11, there are now no browsers officially supported by Angular that would require these polyfills. As a result, the automatic inclusion of these ES2015 polyfills has been removed. Any polyfills manually added to an application's code are not affected by this change.

  • With this change a number of deprecated dev-server builder options which proxied to the browser builder have been removed. These options should be configured in the browser builder instead.

The removed options are:

  • aot
  • sourceMap
  • deployUrl
  • baseHref
  • vendorChunk
  • commonChunk
  • optimization
  • progress

  • With this change we removed several deprecated builder options

  • extractCss has been removed from the browser builder. CSS is now always extracted.
  • servePathDefaultWarning and hmrWarning have been removed from the dev-server builder. These options had no effect.

  • Deprecated @angular-devkit/build-angular:tslint builder has been removed. Use https://github.com/angular-eslint/angular-eslint instead.

  • Differential loading support has been removed. With Angular no longer supporting IE11, there are now no browsers officially supported by Angular that require ES5 code. As a result, differential loading's functionality for creating and conditionally loading ES5 and ES2015+ variants of an application is no longer required.

  • TypeScript versions prior to 4.4 are no longer supported.

  • The dev-server now uses WebSockets to communicate changes to the browser during HMR and live-reloaded. If during your development you are using a proxy you will need to enable proxying of WebSockets.

  • We remove inlining of Google fonts in WOFF format since IE 11 is no longer supported. Other supported browsers use WOFF2.

@angular-devkit/build-webpack

Note: this change only affects users depending on @angular-devkit/build-webpack directly.

@angular-devkit/core

  • With this change we drop support for the deprecated behaviour to transform id in schemas. Use $id instead.

Note: this only effects schematics and builders authors.

  • The deprecated JSON parser has been removed from public API. jsonc-parser should be used instead.

@angular-devkit/schematics

  • isAction has been removed without replacement as it was unused.

  • With this change we remove the following deprecated APIs

  • TslintFixTask
  • TslintFixTaskOptions

Note: this only effects schematics developers.

@ngtools/webpack

  • Deprecated inlineStyleMimeType option has been removed from AngularWebpackPluginOptions. Use inlineStyleFileExtension instead.

  • Applications directly using the webpack-cli and not the Angular CLI to build must set the environment variable DISABLE_V8_COMPILE_CACHE=1. The @ngtools/webpack package now uses dynamic imports to provide support for the ESM @angular/compiler-cli package. The v8-compile-cache package used by the webpack-cli does not currently support dynamic import expressions and will cause builds to fail if the environment variable is not specified. Applications using the Angular CLI are not affected by this limitation.

Deprecations

#

  • @angular-devkit/build-optimizer

It's functionality has been included in @angular-devkit/build-angular so this package is no longer needed by the CLI and we will stop publishing the package soon. It has been an experimental (never hit 1.0.0) and internal (only used by Angular itself) package and should be not be used directly by others.

@angular-devkit/build-angular

  • NG_BUILD_CACHE environment variable option will be removed in the next major version. Configure cli.cache in the workspace configuration instead.

@angular/cli

Commit Type Description
9fe55752d feat officially support Node.js v16
5ad145722 fix error when updating Angular packages across multi-major migrations
e4bc35e33 fix exclude packages from ng add that contain invalid peer dependencies
e1b954d70 fix keep relative migration paths during update analysis
c3acf3cc2 fix remove unused cli project options.
77fe6c4e6 fix update engines to require node 12.20.0
8795536a3 fix update ng update output for Angular packages
d8c9f6eaf fix update the update command to fully support Node.js v16

@schematics/angular

Commit Type Description
7ff8c5350 feat add /.angular/cache to .gitignore
3ba13f467 feat add noImplicitOverride and noPropertyAccessFromIndexSignature to workspace tsconfig
268a03b63 feat add migration to update the workspace config
7bdcd7da1 feat create new projects with rxjs 7
eac18aed7 feat drop polyfills required only for Internet Explorer now that support has been dropped for it
4f91816b2 feat migrate libraries to be published from ViewEngine to Ivy Partial compilation
5986befcd feat remove deprecated options
9fbd16655 feat remove IE 11 specific polyfills
a7b2e6f51 feat update ngsw-config resources extensions
732ef7985 fix add browserslist configuration in library projects
585adacd0 fix don't add destroyAfterEach in newly generated spec files
e58226ee9 fix don't export renderModuleFactory from server file
0ec0ad8a4 fix remove target and lib options for library tsconfig
f227e145d fix updated Angular new project version to v13.0 prerelease

#

Commit Type Description
5e435ff37 docs mark @angular-devkit/build-optimizer as deprecated.

@angular-devkit/architect

Commit Type Description
09e039500 feat include workspace extensions in project metadata

@angular-devkit/build-angular

Commit Type Description
f53bf9dc2 feat add type=module to all scripts tags
e95ecb8ab feat deprecate deployUrl
7dcfffaff feat drop support for karma-coverage-instanbul-reporter
ac3fc2752 feat drop support for node-sass
5904afd1d feat enable disk cache by default and provide configurable options
22cd9edfa feat favor es2020 main fields
7576136b2 feat remove automatic inclusion of ES5 browser polyfills
000b0e51c feat remove deprecated dev-server options
20e48a33c feat remove deprecated options
e78f6ab5d feat remove deprecated tslint builder
701214d17 feat remove differential loading support
fb1ad7c5b feat support ESM proxy configuration files for the dev server
505438cc4 feat support TypeScript 4.4
32dbf659a feat update webpack-dev-server to version 4
c1efaa17f fix calculate valid Angular versions from peerDependencies
d7af4a7b5 fix enable custom es2020 and es2015 conditional exports
f383f3201 fix ESM-interop loaded plugin creators of @angular/localize/tools not respected
7934becb5 fix generate unique webpack runtimes
b14e0a547 fix improve sourcemaps fidelity when code coverage is enabled
e19287453 fix move @angular/localize detection prior to webpack initialization
76d6d8826 fix set browserslist defaults
167eed465 fix update Angular peer dependencies to v13.0 prerelease
1d8cdf853 fix update esbuild to 0.13.12
884111ac0 fix update IE unsupported and deprecation messages
4be6537dd fix update TS/JS regexp checks to latest extensions
427a9ee97 fix update workspace tsconfig lib es2020
ea926db25 fix use es2015 when generating server bundles
13cceab8e fix use URLs for absolute import paths with ESM
4e0743c8a perf change webpack hashing function to xxhash64
cb7d156c2 perf use esbuild as a CSS optimizer for global styles
8e82263c5 perf use esbuild/terser combination to optimize global scripts
e82eef924 refactor remove WOFF handling from inline-fonts processor

@angular-devkit/build-webpack

Commit Type Description
a0b5897d5 feat update webpack-dev-server to version 4
9efcb32e3 fix better handle concurrent dev-servers

@angular-devkit/core

Commit Type Description
0c92ea5ca feat remove deprecated schema id handling
9874aff71 fix add missing option peer dependency on chokidar
a54e5e065 fix support Node.js v16 with NodeJsSyncHost/NodeJsAsyncHost delete operation
d722fdf1f refactor remove deprecated JSON parser

@angular-devkit/schematics

Commit Type Description
0565ed62e feat add UpdateBuffer2 based on magic-string
8954d1152 feat remove deprecated isAction
053b7d66c feat remove deprecated tslint APIs
bdd89ae84 fix handle zero or negative length removals in update buffer

@ngtools/webpack

Commit Type Description
d2a97f919 fix update Angular peer dependencies to v13.0 prerelease
7928b18ed perf reduce repeat path mapping analysis during resolution
8ce8e4edc refactor remove deprecated inlineStyleMimeType option
7d98ab3df refactor support an ESM-only @angular/compiler-cli package

Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Douglas Parker, Joey Perrott, Kristiyan Kostadinov, Lukas Spirig and Paul Gschwendtner

12.2.9 (2021-10-06)

@angular-devkit/build-angular

Commit Type Description
9d45b7752 fix add web-streams-polyfill to downlevel exclusion list
ccedf53a8 fix update esbuild to 0.13.4

Special Thanks

Alan Agius and Charles Lyding

12.2.8 (2021-10-01)

@angular-devkit/build-angular

Commit Type Description
821a1b5a9 fix babel adjust enum plugin incorrectly transforming loose enums

Special Thanks

Paul Gschwendtner

12.2.7 (2021-09-22)

@angular-devkit/build-angular

Commit Type Description
d856b4d23 fix support WASM-based esbuild optimizer fallback

Special Thanks

Alan Agius and Charles Lyding

12.2.6 (2021-09-15)

@angular/cli

Commit Type Description
8b21effad fix handle FORCE_COLOR when stdout is not instance of WriteStream

@angular-devkit/build-angular

Commit Type Description
ea60f0f52 fix handle FORCE_COLOR when stdout is not instance of WriteStream

Special Thanks

Alan Agius

12.2.5 (2021-09-08)

@angular-devkit/build-angular

Commit Type Description
0498768c5 fix disable dev-server response compression
367fce2e9 fix improve Safari browserslist to esbuild target conversion

Special Thanks:

Alan Agius and Charles Lyding

12.2.4 (2021-09-01)

@angular-devkit/build-angular

Commit Type Description
aaadef026 fix update esbuild to 0.12.24
f8a9f4a01 fix update mini-css-extract-plugin to 2.2.1

Special Thanks

Alan Agius

12.2.3 (2021-08-26)

@angular-devkit/build-angular

Commit Type Description
3e3321857 fix RGBA converted to hex notation in component styles breaks IE11

Special Thanks:

Alan Agius and Trevor Karjanis

12.2.2 (2021-08-18)

@angular-devkit/build-angular

Commit Description
a55118a75 fix: provide supported browsers to esbuild
81baa4f95 fix: update Angular peer dependencies to 12.2 stable
297410ae8 fix: handle undefined entrypoints when marking async chunks

@ngtools/webpack

Commit Description
b7199f366 fix: update Angular peer dependencies to 12.2 stable

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott and Simon Primetzhofer

12.2.1 (2021-08-11)

@angular/cli

Commit Description
8dc3c895a fix(@angular/cli): show error when using non-TTY terminal without passing --skip-confirmation during ng add

@angular-devkit/schematics-cli

Commit Description
eded01270 fix(@angular-devkit/schematics-cli): log when in debug and/or dry run modes

@angular-devkit/build-angular

Commit Description
22e0208a9 fix(@angular-devkit/build-angular): ensure native async is downlevelled in third-party libraries
9b4b86fb0 fix(@angular-devkit/build-angular): support both pure annotation forms for static properties
cea028090 fix(@angular-devkit/build-angular): do not consume inline sourcemaps when vendor sourcemaps is disabled.
e7ec0346e fix(@angular-devkit/build-angular): avoid attempting to optimize copied JavaScript assets
4f757c2bc fix(@angular-devkit/build-angular): handle null maps in JavaScript optimizer worker

Special Thanks:

Alan Agius and Charles Lyding

12.2.0 (2021-08-04)

@angular/cli

Commit Description
259e26979 fix(@angular/cli): merge npmrc files values
c1eddbdc9 fix(@angular/cli): handle YARN_ environment variables during ng update and ng add
6b00d1270 fix(@angular/cli): handle NPM_CONFIG environment variables during ng update and ng add
88ee85c41 fix(@angular/cli): disable update notifier when retrieving package manager version during ng version

@angular-devkit/build-angular

Commit Description
d750c686f fix(@angular-devkit/build-angular): add priority to copy-webpack-plugin patterns
4bcd1dc9e fix(@angular-devkit/build-angular): allow classes with pure annotated static properties to be optimized
ceade0c27 fix(@angular-devkit/build-angular): dasherize disable-host-check suggestion
8383c6b42 fix(@angular-devkit/build-angular): silence Sass compiler warnings from 3rd party stylesheets
07763702f fix(@angular-devkit/build-angular): force linker sourceMapping option to false.
a5c69722f fix(@angular-devkit/build-angular): ensure NG_PERSISTENT_BUILD_CACHE always creates a cache in the specified cache directory
c65b04999 fix(@angular-devkit/build-angular): fail browser build when index generation fails
3d71c63b3 fix(@angular-devkit/build-angular): fix issue were @media all causing critical CSS inling to fail
9a04975a2 fix(@angular-devkit/build-angular): extractLicenses didn't have an effect when using server builder
2ac8e9c0e fix(@angular-devkit/build-angular): display incompatibility errors
2c2b49919 fix(@angular-devkit/build-angular): limit advanced terser passes to two
1be3b0783 fix(@angular-devkit/build-angular): exclude outputPath from persistent build cache key
fefd6d042 perf(@angular-devkit/build-angular): use esbuild as a CSS optimizer for component styles
18cfa0431 feat(@angular-devkit/build-angular): add support to inline Adobe Fonts
9a751f0f8 fix(@angular-devkit/build-angular): handle ENOENT and ENOTDIR errors when deleting outputs
41e645792 fix(@angular-devkit/build-angular): downlevel for await...of when targeting ES2018+
070a13364 fix(@angular-devkit/build-angular): configure webpack target in common configuration
da32daa75 perf(@angular-devkit/build-angular): use combination of esbuild and terser as a JavaScript optimizer
6a2b11906 perf(@angular-devkit/build-angular): cache JavaScriptOptimizerPlugin results
ab17b1721 fix(@angular-devkit/build-angular): handle ng-packagr errors more gracefully.
d4c5f8518 fix(@angular-devkit/build-angular): control linker template sourcemapping via builder sourcemap options
06181c2fb fix(@angular-devkit/build-angular): parse web-workers in tests when webWorkerTsConfig is defined

@angular-devkit/build-webpack

Commit Description
615353022 fix(@angular-devkit/build-webpack): emit result when webpack is closed

@ngtools/webpack

Commit Description
dbbcf5c8c fix(@ngtools/webpack): only track file dependencies
7536338e0 fix(@ngtools/webpack): allow generated assets of Angular component resources
720feee34 fix(@ngtools/webpack): avoid non-actionable template type-checker syntax diagnostics
6a7bcf330 fix(@ngtools/webpack): encode component style data
12c14b565 fix(@ngtools/webpack): remove no longer needed component styles workaround

@schematics/angular

Commit Description
20fd33f6d feat(@schematics/angular): destroy test module after every test
5b10d4f54 fix(@schematics/angular): remove unsafe any usage in application spec file
1b5e18e7b fix(@schematics/angular): replace interactive div with button in application component template
0907b6941 fix(@schematics/angular): use stricter semver for karma-jasmine-html-reporter
8ad1539c5 fix(@schematics/angular): add 'none' value for the 'style' option of the component schematic
e5ba29c7d fix(@schematics/angular): display warning during migrations when using third-party builders
a44dc02fe fix(@schematics/angular): add devtools to ng new

Special Thanks:

Alan Agius, Charles Lyding, David Scourfield, Doug Parker, hien-pham, Joey Perrott, LeonEck, Mike Jancar, twerske, Vaibhav Singh and originalfrostig

12.2.0-rc.0 (2021-07-28)

@angular/cli

Commit Description
259e26979 fix(@angular/cli): merge npmrc files values

@angular-devkit/build-angular

Commit Description
d750c686f fix(@angular-devkit/build-angular): add priority to copy-webpack-plugin patterns

@angular-devkit/build-webpack

Commit Description
615353022 fix(@angular-devkit/build-webpack): emit result when webpack is closed

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott and originalfrostig

12.1.4 (2021-07-28)

@angular/cli

Commit Description
e02c97dd0 fix(@angular/cli): merge npmrc files values

@schematics/angular

Commit Description
cfc267426 fix(@schematics/angular): ensure valid SemVer range for new project Angular packages

@angular-devkit/build-angular

Commit Description
55c0bddc8 fix(@angular-devkit/build-angular): add priority to copy-webpack-plugin patterns

@angular-devkit/build-webpack

Commit Description
b3736a3c0 fix(@angular-devkit/build-webpack): emit result when webpack is closed

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott and originalfrostig

12.2.0-next.3 (2021-07-21)

@angular/cli

Commit Description
c1eddbdc9 fix(@angular/cli): handle YARN_ environment variables during ng update and ng add
6b00d1270 fix(@angular/cli): handle NPM_CONFIG environment variables during ng update and ng add

@angular-devkit/build-angular

Commit Description
4bcd1dc9e fix(@angular-devkit/build-angular): allow classes with pure annotated static properties to be optimized
ceade0c27 fix(@angular-devkit/build-angular): dasherize disable-host-check suggestion

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott, LeonEck and Mike Jancar

12.1.3 (2021-07-21)

@angular/cli

Commit Description
eaa2378b6 fix(@angular/cli): handle YARN_ environment variables during ng update and ng add
4b9a41bde fix(@angular/cli): handle NPM_CONFIG environment variables during ng update and ng add

@angular-devkit/build-angular

Commit Description
04e9ffe4f fix(@angular-devkit/build-angular): allow classes with pure annotated static properties to be optimized
6ae17e265 fix(@angular-devkit/build-angular): dasherize disable-host-check suggestion

Special Thanks:

Alan Agius, Charles Lyding, Joey Perrott, LeonEck and Mike Jancar

v12.2.0-next.2 (2021-07-14)

Commits

@angular-devkit/build-angular (12.2.0-next.2)

Commit Description Notes
silence Sass compiler warnings from 3rd party stylesheets [Closes #21235]
force linker `sourceMapping` option to false. [Closes #21271]
ensure `NG_PERSISTENT_BUILD_CACHE` always creates a cache in the specified cache directory
fail browser build when index generation fails
fix issue were `@media all` causing critical CSS inling to fail [Closes #20804]
`extractLicenses` didn't have an effect when using server builder
display incompatibility errors [Closes #21322]
limit advanced terser passes to two
exclude `outputPath` from persistent build cache key [Closes #21275]
use `esbuild` as a CSS optimizer for component styles

@ngtools/webpack (12.2.0-next.2)

Commit Description Notes
only track file dependencies [Closes #21228]
allow generated assets of Angular component resources
avoid non-actionable template type-checker syntax diagnostics

@schematics/angular (12.2.0-next.2)

Commit Description Notes
destroy test module after every test [Closes #21280]
remove unsafe any usage in application spec file
replace interactive `div` with `button` in application component template
use stricter semver for `karma-jasmine-html-reporter`


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott

v12.1.2 (2021-07-14)

Commits

@angular-devkit/build-angular (12.1.2)

Commit Description Notes
silence Sass compiler warnings from 3rd party stylesheets [Closes #21235]
ensure `NG_PERSISTENT_BUILD_CACHE` always creates a cache in the specified cache directory
force linker `sourceMapping` option to false. [Closes #21271]
fail browser build when index generation fails
`extractLicenses` didn't have an effect when using server builder
fix issue were `@media all` causing critical CSS inling to fail [Closes #20804]
display incompatibility errors [Closes #21322]
exclude `outputPath` from persistent build cache key [Closes #21275]

@ngtools/webpack (12.1.2)

Commit Description Notes
only track file dependencies [Closes #21228]
allow generated assets of Angular component resources
avoid non-actionable template type-checker syntax diagnostics

@schematics/angular (12.1.2)

Commit Description Notes
remove unsafe any usage in application spec file
replace interactive `div` with `button` in application component template
use stricter semver for `karma-jasmine-html-reporter`


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott, Terence D. Honles

v12.1.1 (2021-07-01)

Commits

@angular-devkit/build-angular (12.1.1)

Commit Description Notes
handle `ENOENT` and `ENOTDIR` errors when deleting outputs [Closes #21202]
downlevel `for await...of` when targeting ES2018+ [Closes #21196]
configure webpack target in common configuration [Closes #21239]
update `mini-css-extract-plugin` to `1.6.2`
update `webpack` to `5.41.1`

@angular/cli (12.1.1)

Commit Description Notes
disable update notifier when retrieving package manager version during `ng version` [Closes #21172]

@ngtools/webpack (12.1.1)

Commit Description Notes
encode component style data [Closes #21236]


Special Thanks

Alan Agius, Charles Lyding, Doug Parker

v12.2.0-next.1 (2021-07-01)

Commits

@angular-devkit/build-angular (12.2.0-next.1)

Commit Description Notes
add support to inline Adobe Fonts [Closes #21186]
handle `ENOENT` and `ENOTDIR` errors when deleting outputs [Closes #21202]
downlevel `for await...of` when targeting ES2018+ [Closes #21196]
configure webpack target in common configuration [Closes #21239]
use combination of `esbuild` and `terser` as a JavaScript optimizer
cache JavaScriptOptimizerPlugin results

@angular/cli (12.2.0-next.1)

Commit Description Notes
disable update notifier when retrieving package manager version during `ng version` [Closes #21172]

@ngtools/webpack (12.2.0-next.1)

Commit Description Notes
encode component style data [Closes #21236]


Special Thanks

Alan Agius, Charles Lyding, Doug Parker

v12.2.0-next.0 (2021-06-24)

Commits

@angular-devkit/build-angular (12.1.0)

Commit Description Notes
handle ng-packagr errors more gracefully.
control linker template sourcemapping via builder sourcemap options
parse web-workers in tests when webWorkerTsConfig is defined

@ngtools/webpack (12.1.0)

Commit Description Notes
remove no longer needed component styles workaround

@schematics/angular (12.1.0)

Commit Description Notes
add 'none' value for the 'style' option of the component schematic
display warning during migrations when using third-party builders
add devtools to ng new


Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Vaibhav Singh, Joey Perrott, twerske, David Scourfield, hien-pham

v12.1.0 (2021-06-24)

Commits

@angular-devkit/build-angular (12.1.0)

Commit Description Notes
enable webpack Trusted Types support
deprecate protractor builder
support using TypeScript 4.3
revert open to 8.0.2 [Closes #20807]
correctly ignore inline styles during i18n extraction
use the name as chunk filename instead of id
handle ng-packagr errors more gracefully.
control linker template sourcemapping via builder sourcemap options
parse web-workers in tests when webWorkerTsConfig is defined
use CSS optimization plugin that leverages workers
enable opt-in usage of file system cache

@angular/cli (12.1.0)

Commit Description Notes
show Node.js version support status in version command [Closes #20879]
handle unscoped authentication details in `.npmrc` files
don't resolve `.npmrc` from parent directories

@ngtools/webpack (12.1.0)

Commit Description Notes
support using TypeScript 4.3
remove redundant inline style cache
ensure plugin provided Webpack instance is used
disable caching for ngcc synchronous Webpack resolver
remove no longer needed component styles workaround

@schematics/angular (12.1.0)

Commit Description Notes
create new projects with TypeScript 4.3
add migration to replace deprecated `--prod` [Closes #21036]
add 'none' value for the 'style' option of the component schematic
display warning during migrations when using third-party builders
add devtools to ng new


Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Joey Perrott, Bjarki, Vaibhav Singh, twerske, David Scourfield, hien-pham, Alberto Calvo, Paul Gschwendtner, Keen Yee Liau

v12.1.0-next.6 (2021-06-17)

Commits

@angular-devkit/build-angular (12.1.0-next.6)

Commit Description Notes
don't parse `new Worker` syntax when `webWorkerTsConfig` is not defined in karma builder [Closes #21108]
explicitly set compilation target in test configuration [Closes #21111]
use the name as chunk filename instead of id
enable opt-in usage of file system cache

@angular/cli (12.1.0-next.6)

Commit Description Notes
handle unscoped authentication details in `.npmrc` files
don't resolve `.npmrc` from parent directories

@schematics/angular (12.1.0-next.6)

Commit Description Notes
add migration to replace deprecated `--prod` [Closes #21036]


Special Thanks

Alan Agius, Joey Perrott, Alberto Calvo, Charles Lyding

v12.0.5 (2021-06-17)

Commits

@angular-devkit/build-angular (12.0.5)

Commit Description Notes
don't parse `new Worker` syntax when `webWorkerTsConfig` is not defined in karma builder [Closes #21108]
explicitly set compilation target in test configuration [Closes #21111]

@angular/cli (12.0.5)

Commit Description Notes
handle unscoped authentication details in .npmrc files


Special Thanks

Alan Agius, Joey Perrott

v12.1.0-next.5 (2021-06-10)

Commits

@angular-devkit/build-angular (12.1.0-next.5)

Commit Description Notes
support using TypeScript 4.3
ensure all Webpack Stats assets are present on rebuilds [Closes #21038]
dispose Sass worker resources on Webpack shutdown [Closes #20985]
show progress during re-builds
correctly mark async chunks as non initial in dev-server
add web-workers in lazy chunks in stats output [Closes #21059]
styles CSS files not available in unit tests [Closes #21054]
reduce memory usage by cleaning output directory before emitting

@angular-devkit/schematics (12.1.0-next.5)

Commit Description Notes
handle updating renamed files [Closes #14255]
[Closes #21083]

@angular/cli (12.1.0-next.5)

Commit Description Notes
avoid shell exec when bootstrapping update command
correctly redirect nested Angular schematic dependency requests [Closes #21075]

@ngtools/webpack (12.1.0-next.5)

Commit Description Notes
support using TypeScript 4.3
ensure plugin provided Webpack instance is used
disable caching for ngcc synchronous Webpack resolver

@schematics/angular (12.1.0-next.5)

Commit Description Notes
create new projects with TypeScript 4.3
added webWorkerTsConfig into test option
working with formatting


Special Thanks

Charles Lyding, Alan Agius, Doug Parker, Santosh Mahto, Joey Perrott

v12.0.4 (2021-06-09)

Commits

@angular-devkit/build-angular (12.0.4)

Commit Description Notes
ensure all Webpack Stats assets are present on rebuilds [Closes #21038]
dispose Sass worker resources on Webpack shutdown [Closes #20985]
show progress during re-builds
correctly mark async chunks as non initial in dev-server
add web-workers in lazy chunks in stats output [Closes #21059]
styles CSS files not available in unit tests [Closes #21054]
reduce memory usage by cleaning output directory before emitting

@angular-devkit/schematics (12.0.4)

Commit Description Notes
handle updating renamed files [Closes #14255]
[Closes #21083]

@angular/cli (12.0.4)

Commit Description Notes
avoid shell exec when bootstrapping update command
correctly redirect nested Angular schematic dependency requests [Closes #21075]

@ngtools/webpack (12.0.4)

Commit Description Notes
ensure plugin provided Webpack instance is used

@schematics/angular (12.0.4)

Commit Description Notes
added webWorkerTsConfig into test option
working with formatting


Special Thanks

Alan Agius, Charles Lyding, Santosh Mahto, Joey Perrott, Doug Parker

v12.0.3 (2021-06-02)

Commits

@angular-devkit/build-angular (12.0.3)

Commit Description Notes
do not resolve web-workers in server builds [Closes #20877]
provided earlier build feedback in console [Closes #20957]
correctly ignore inline styles during i18n extraction [Closes #20968]
update `license-webpack-plugin` to `2.3.19`

@angular-devkit/build-webpack (0.1200.3)

Commit Description Notes
include only required stats in webpackStats

@angular-devkit/core (12.0.3)

Commit Description Notes
show allowed enum values when validation on enum fails
handle complex smart defaults in schemas
handle async schema validations
transform path using getSystemPath for NodeJsAsyncHost's `exists` method

@angular/cli (12.0.3)

Commit Description Notes
update supported range of node versions to be less restrictive [Closes #20796]

@ngtools/webpack (12.0.3)

Commit Description Notes
normalize paths when adding file dependencies [Closes #20891]
remove redundant inline style cache

@schematics/angular (12.0.3)

Commit Description Notes
make version 12 workspace config migration idempotent [Closes #20979]
show better error when non existing project is passed to the component schematic


Special Thanks

Alan Agius, Doug Parker, Charles Lyding, why520crazy

v12.1.0-next.4 (2021-06-02)

Commits

@angular-devkit/build-angular (12.1.0-next.4)

Commit Description Notes
do not resolve web-workers in server builds [Closes #20877]
provided earlier build feedback in console [Closes #20957]
correctly ignore inline styles during i18n extraction

@angular-devkit/build-webpack (0.1201.0-next.4)

Commit Description Notes
include only required stats in webpackStats

@angular-devkit/core (12.1.0-next.4)

Commit Description Notes
show allowed enum values when validation on enum fails
handle complex smart defaults in schemas
handle async schema validations
transform path using getSystemPath for NodeJsAsyncHost's `exists` method

@angular/cli (12.1.0-next.4)

Commit Description Notes
update supported range of node versions to be less restrictive [Closes #20796]

@ngtools/webpack (12.1.0-next.4)

Commit Description Notes
normalize paths when adding file dependencies [Closes #20891]
remove redundant inline style cache

@schematics/angular (12.1.0-next.4)

Commit Description Notes
make version 12 workspace config migration idempotent [Closes #20979]
show better error when non existing project is passed to the component schematic


Special Thanks

Alan Agius, Doug Parker, Charles Lyding, why520crazy

v12.1.0-next.3 (2021-05-26)

Commits

@angular-devkit/build-angular (12.1.0-next.3)

Commit Description Notes
enable webpack Trusted Types support
deprecate protractor builder
ensure Sass worker implementation supports Node.js 12.14
don't add `.hot-update.js` script tags [Closes #20855]
correctly generate ServiceWorker config on Windows [Closes #20894]
ensure latest inline stylesheet data is used during rebuilds
allow i18n extraction on application that uses web-workers [Closes #20930]
hide stacktraces from dart-sass errors
resolve absolute outputPath properly [Closes #20935]
show `--disable-host-check` warning only when not using `disableHostCheck` [Closes #20951]
disable CSS optimization parallelism for components styles [Closes #20883]
load postcss-preset-env configuration once

@angular/cli (12.1.0-next.3)

Commit Description Notes
show Node.js version support status in version command [Closes #20879]
ng update on windows to allow path

@ngtools/webpack (12.1.0-next.3)

Commit Description Notes
re-emit component stylesheet assets [Closes #20882]


Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Bjarki, Hassan Sani, JoostK, George Kalpakas, Joey Perrott

v12.0.2 (2021-05-26)

Commits

@angular-devkit/build-angular (12.0.2)

Commit Description Notes
ensure Sass worker implementation supports Node.js 12.14
don't add `.hot-update.js` script tags [Closes #20855]
correctly generate ServiceWorker config on Windows [Closes #20894]
ensure latest inline stylesheet data is used during rebuilds
allow i18n extraction on application that uses web-workers [Closes #20930]
hide stacktraces from dart-sass errors
resolve absolute outputPath properly [Closes #20935]
show `--disable-host-check` warning only when not using `disableHostCheck` [Closes #20951]
update PostCSS to 8.3
disable CSS optimization parallelism for components styles [Closes #20883]
load postcss-preset-env configuration once

@angular/cli (12.0.2)

Commit Description Notes
ng update on windows to allow path

@ngtools/webpack (12.0.2)

Commit Description Notes
re-emit component stylesheet assets [Closes #20882]


Special Thanks

Alan Agius, Charles Lyding, Doug Parker, Hassan Sani, JoostK, George Kalpakas, Joey Perrott

v12.0.1 (2021-05-19)

Commits

@angular-devkit/build-angular (12.0.1)

Commit Description Notes
add experimental web-assembly [Closes #20762]
fix error with inline styles when running extract-i18n
add `NG_BUILD_MAX_WORKERS` settimgs to control maximum number of workers
non injected styles should not count as initial [Closes #20781]
revert open to 8.0.2 [Closes #20807]
correctly resolve babel runtime helpers [Closes #20800]
compile schema in synchronously [Closes #20847]
execute dart-sass in a worker
reduce JSON stats
use CSS optimization plugin that leverages workers
render Sass using a pool of workers
clean no-longer used assets during builds

@angular/cli (12.0.1)

Commit Description Notes
cannot locate bin for temporary package
clean node modules directory prior to updating
improve `--prod` deprecation warning [Closes #20806]

@ngtools/webpack (12.0.1)

Commit Description Notes
reduce non-watch mode TypeScript diagnostic analysis overhead

@schematics/angular (12.0.1)

Commit Description Notes
remove --prod option from README template
don't add `skipTest` option to module schematic options [Closes #20811]
add migration to remove `skipTests` from `@schematics/angular:module` [Closes #20848]


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott, Keen Yee Liau, Luca Vazzano, Pankaj Patil, Ryan Lester, Terence D. Honles, Alan Cohen

v12.1.0-next.2 (2021-05-19)

Commits

@angular-devkit/build-angular (12.1.0-next.2)

Commit Description Notes
add experimental web-assembly [Closes #20762]
add `NG_BUILD_MAX_WORKERS` settimgs to control maximum number of workers
non injected styles should not count as initial [Closes #20781]
revert open to 8.0.2 [Closes #20807]
correctly resolve babel runtime helpers [Closes #20800]
compile schema in synchronously [Closes #20847]
execute dart-sass in a worker
reduce JSON stats
use CSS optimization plugin that leverages workers
render Sass using a pool of workers
clean no-longer used assets during builds

@angular/cli (12.1.0-next.2)

Commit Description Notes
cannot locate bin for temporary package
clean node modules directory prior to updating
improve `--prod` deprecation warning [Closes #20806]

@ngtools/webpack (12.1.0-next.2)

Commit Description Notes
reduce non-watch mode TypeScript diagnostic analysis overhead

@schematics/angular (12.1.0-next.2)

Commit Description Notes
remove --prod option from README template
don't add `skipTest` option to module schematic options [Closes #20811]
add migration to remove `skipTests` from `@schematics/angular:module` [Closes #20848]


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott, Keen Yee Liau, Luca Vazzano, Pankaj Patil, Ryan Lester, Alan Cohen, Paul Gschwendtner

v12.0.0 (2021-05-12)

Commits

@angular-devkit/architect (0.1200.0)

Commit Description Notes
add implementation for defaultConfiguration

@angular-devkit/build-angular (12.0.0)

Commit Description Notes
add `postcss-preset-env` with stage 3 features
drop support for karma version 5.2
drop support for ng-packagr version 11
enable inlineCritical by default
show warning during build when project requires IE 11 support
expose legacy-migrate message format
integrate JIT mode linker [Closes #20281]
upgrade to Webpack 5 throughout the build system
support processing component inline CSS styles
support specifying stylesheet language for inline component styles
remove left-over `experimentalRollupPass` option
support writing large Webpack stat outputs
ensure output directory is present before writing stats JSON
remove deprecated View Engine support for i18n extraction
remove usage of deprecated View Engine compiler
remove deprecated i18nLocale and i18nFormat options from i18n-extract
update karma builder to use non-deprecated API
disable webpack cache when using `NG_BUILD_CACHE`
remove duplicate application bundle generation complete message
mark programmatic builder execution functions as experimental
avoid double build optimizer processing
replace Webpack 4 `hashForChunk` hook usage
use new Webpack watch API in karma webpack plugin
recover from CSS optimization errors
disable Webpack 5 automatic public path support
always inject live reload client when using live reload
change several builder options defaults
show warning when using stylus
avoid triggering file change after file build
remove left-over `forkTypeChecker` option
disable CSS declaration sorting optimizations [Closes #20693]
disable `showCircularDependencies` by default
use Webpack's GC memory caching in watch mode
improve incremental time during Karma tests
avoid async downlevel for known ES2015 code

@angular-devkit/build-optimizer (0.1200.0)

Commit Description Notes
support Webpack 5

@angular-devkit/build-webpack (0.1200.0)

Commit Description Notes
provide output path in builder results
support Webpack 5

@angular-devkit/core (12.0.0)

Commit Description Notes
add handling for `defaultConfiguration` target definition property
update schema validator
ensure job input values are processed in order
improve handling of set schema values [Closes #20594]

@angular/cli (12.0.0)

Commit Description Notes
add `defaultConfiguration` property to architect schema
deprecate `--prod` command line argument
confirm ng add action before installation
support TypeScript 4.2
ensure odd number Node.js version message is a warning
remove npm 7 incompatibility notification
avoid exceptions for expected errors in architect commands
ensure update migrations are fully executed
exclude deprecated packages with removal migrations from update
add message update updating from non LTS versions of the CLI
ignore `tsickle` during updates
run all migrations when updating from or between prereleases
add package manager name and version in `ng version` output
Support XDG Base Directory Specification
don't display options multiple times in schematics help output
change package installation to async
infer schematic defaults correctly when using `--project` [Closes #20666]
propagate update's force option to package managers
allow unsetting config when value is `undefined`
allow config object to be of JSON.
disallow additional properties in builders sections

@ngtools/webpack (12.0.0)

Commit Description Notes
support Webpack 5
drop support for string based lazy loading
support multiple plugin instances per compilation
support generating data URIs for inline component styles in JIT
support processing inline component styles in AOT
remove Webpack 5 deprecation warning in resource loader
use correct Webpack asset stage in resource loader
remove Webpack plugin for deprecated ViewEngine compiler
only track actual resource file dependencies
avoid adding transitive dependencies to Webpack's dependency graph
use precalculated dependencies in unused file check
only check affected files for Angular semantic diagnostics
cache results of processed inline resources
rebuild Angular required files asynchronously
reduce source file and Webpack module iteration

@schematics/angular (12.0.0)

Commit Description Notes
add migration to remove deprecated options from 'angular.json'
strict mode by default
use new zone.js entry-points
add migration to use new zone.js entry-points
add migration to remove emitDecoratorMetadata
augment `universal` schematics to import `platform-server` shims [Closes #40559]
update new project dependencies version [Closes #20106]
production builds by default
deprecate `legacyBrowsers` application and ng-new option
add migration to remove `lazyModules` configuration option
add migration to update lazy loading string syntax to use dynamic imports
update several TypeScript compilation target (Syntax)
remove tslint and codelyzer from new projects [Closes #20105]
[Closes #18465]
add production by default optional migration
update new workspaces to use Karma 6.3
remove `entryComponent` from `component` schematic
configure new libraries to be published in Ivy partial mode
update `jasmine-spec-reporter` to version 7
migrate web workers to support Webpack 5
only update removed v12 options in migration
add `additionalProperties` to all schemas
remove references to the prod flag
only show legacy browsers deprecation warning when option is used
remove leftover workspace tslint config
correctly handle adding multi-line strings to `@NgModule` metadata
run update-i18n migration for server builder
update web-worker to support Webpack 5
set `inlineStyleLanguage` when application `style` option is used
set `inlineStyleLanguage` for universal if present in build options
remove jasmine-spec-reporter and ts-node from default workspace
remove Protractor from home page
remove lint command from package.json [Closes #20618]
fix migration for namedChunks and option
add "type" option in enum schematic
only run `emitDecoratorMetadata` removal migration in safe workspaces
replace `clientProject` with `project`

 

Breaking Changes

@schematics/angular: remove `stylus` from `style` options (fd729ac)

`styl` (Stylus) is no longer a supported value as `style` in `application`, `component`, `ng-new` schematics. Stylus is not actively maintained and only 0.3% of the Angular CLI users use it.

(cherry picked from commit 0272fc55b67d1a3f986b996c8eb21aea31eedf51)

@angular-devkit/build-angular: change several builder options defaults (656f8d7)

A number of browser and server builder options have had their default values changed. The aim of these changes is to reduce the configuration complexity and support the new "production builds by default" initiative.

Browser builder | Option | Previous default value | New default value | |----------------------------------------|---------------------------|-------------------| | optimization | false | true | | aot | false | true | | buildOptimizer | false | true | | sourceMap | true | false | | extractLicenses | false | true | | namedChunks | true | false | | vendorChunk | true | false |

Server builder | Option | Previous default value | New default value | |---------------|------------------------|-------------------| | optimization | false | true | | sourceMap | true | false |

(cherry picked from commit 0a74d0d28daf68510459ed73ef048c91bfcabbbc)

@angular-devkit/core: update schema validator (0875313)

support for JSON Schema draft-04 and draft-06 is removed. If you have schemas using the `id` keyword replace them with `$id`. For an interim period we will auto rename any top level `id` keyword to `$id`.

NB: This change only effects schematics and builders authors.

@angular-devkit/build-angular: upgrade to Webpack 5 throughout the build system (d883ce5)

Webpack 5 lazy loaded file name changes Webpack 5 generates similar but differently named files for lazy loaded JavaScript files in development configurations (when the `namedChunks` option is enabled). For the majority of users this change should have no effect on the application and/or build process. Production builds should also not be affected as the `namedChunks` option is disabled by default in production configurations. However, if a project's post-build process makes assumptions as to the file names then adjustments may need to be made to account for the new naming paradigm. Such post-build processes could include custom file transformations after the build, integration into service-side frameworks, or deployment procedures. Example development file name change: `lazy-lazy-module.js` --> `src_app_lazy_lazy_module_ts.js`

Webpack 5 now includes web worker support. However, the structure of the URL within the Worker constructor must be in a specific format that differs from the current requirement. Web worker usage should be updated as shown below (where ./app.worker should be replaced with the actual worker name): Before: new Worker('./app.worker', ...) After: new Worker(new URL('./app.worker', import.meta.url), ...)

@ngtools/webpack: remove Webpack plugin for deprecated ViewEngine compiler (160102a)

Removal of View Engine support from application builds With the removal of the deprecated View Engine compiler in Angular version 12 for applications, the View Engine Webpack plugin has been removed. The Ivy-based Webpack plugin is the default used within the Angular CLI. If using a custom standalone Webpack configuration, the removed `AngularCompilerPlugin` should be replaced with the Ivy-based `AngularWebpackPlugin`.

@angular-devkit/build-angular: remove deprecated i18n options from server and browser builder (5cf9a08)

Removal of deprecated browser and server command options. - `i18nFile`, use `locales` object in the project metadata instead. - `i18nFormat`, No longer needed as the format will be determined automatically. - `i18nLocale`, use `localize` option instead.

@angular-devkit/build-angular: remove deprecated i18nLocale and i18nFormat options from i18n-extract (eca5a01)

Removal of deprecated `extract-i18n` command options The deprecated `i18nLocale` option has been removed and the `i18n.sourceLocale` within a project's configuration should be used instead. The deprecated `i18nFormat` option has been removed and the `format` option should be used instead.

@angular-devkit/build-angular: remove usage of deprecated View Engine compiler (677913f)

Removal of View Engine support from application builds With the removal of the deprecated View Engine compiler in Angular version 12 for applications, Ivy-based compilation will always be used when building an application. The default behavior for applications is to use the Ivy compiler when building and no changes are required for these applications. For applications that have opted-out of Ivy, a warning will be shown and an Ivy-based build will be attempted. If the build fails, the application may need to be updated to become Ivy compatible.

@schematics/angular: remove `entryComponent` from `component` schematic (8582ddc)

`entryComponent` option has been removed from the `component` schematic as this was intended to be used with the now no longer supported ViewEngine rendering engine.

@angular-devkit/build-angular: remove view engine app-shell generation (1c2aeeb)

App-shell builder now only supports generation using Ivy

@angular-devkit/build-angular: remove deprecated View Engine support for i18n extraction (012700a)

Removal of View Engine support from i18n extraction With the removal of the deprecated View Engine compiler in Angular version 12 for applications, the `ng extract-i18n` command will now always use the Ivy compiler. The `--ivy` option has also been removed as Ivy-based extraction is always enabled. The default behavior for applications is to use the Ivy compiler for building/extraction and no changes are required for these applications. For applications that have opted-out of Ivy, a warning will be shown and Ivy-based extraction will be attempted. If the extraction fails, the application may need to be updated to become Ivy compatible.

@angular/cli: confirm ng add action before installation (985dc1a)

The `ng add` command will now ask the user to confirm the package and version prior to installing and executing an uninstalled package. This new behavior allows a user to abort the action if the version selected is not appropriate or if a typo occurred on the command line and an incorrect package would be installed. A `--skip-confirmation` option has been added to skip the prompt and directly install and execute the package. This option is useful in CI and non-TTY scenarios such as automated scripts.

@angular-devkit/build-angular: remove deprecated `lazyModules` option (8d66912)

Server and Browser builder `lazyModules` option has been removed without replacement.

@ngtools/webpack: drop support for string based lazy loading (0dc7327)

With this change we drop support for string based lazy loading `./lazy.module#LazyModule` use dynamic imports instead.

The following options which were used to support the above syntax were removed without replacement.

  • discoverLazyRoutes
  • additionalLazyModules
  • additionalLazyModuleResources
  • contextElementDependencyConstructor

@angular-devkit/build-angular: enable inlineCritical by default (aa3ea88)

Critical CSS inlining is now enabled by default. If you wish to turn this off set `inlineCritical` to `false`.

See: https://angular.dev/reference/configs/workspace-config#optimization-configuration

@angular-devkit/build-angular: drop support for zone.js 0.10 (f309516)

Minimum supported `zone.js` version is `0.11.4`

@angular-devkit/build-angular: drop support for ng-packagr version 11 (44e75be)

Minimum supported `ng-packagr` version is `12.0.0-next`

@angular-devkit/build-angular: drop support for karma version 5.2 (fa5cf53)

Minimum supported `karma` version is `6.0.0`

set minimum Node.js version to 12.13 (d1f6169)

Node.js version 10 will become EOL on 2021-04-30. Angular CLI 12 will require Node.js 12.13+ or 14.15+. Node.js 12.13 and 14.15 are the first LTS releases for their respective majors.

@angular-devkit/build-angular: remove file-loader dependency (6732294)

The unsupported/undocumented, Webpack specific functionality to `import`/`require()` a non-module file has been removed.

Before

import img from './images/asset.png';

After

<img src="images/asset.png" />

Special Thanks

Alan Agius, Charles Lyding, Keen Yee Liau, Joey Perrott, Doug Parker, Cédric Exbrayat, Douglas Parker, George Kalpakas, Sam Bulatov, Joshua Chapman, Santosh Yadav, David Shevitz, Kristiyan Kostadinov

v12.0.0-rc.3 (2021-05-10)

Commits

@angular/cli (12.0.0-rc.3)

Commit Description Notes
propagate update's force option to package managers
allow unsetting config when value is `undefined`
allow config object to be of JSON.
disallow additional properties in builders sections

Special Thanks

Alan Agius, Charles Lyding, Joey Perrott

v12.0.0-rc.2 (2021-05-05)

Commits

@angular-devkit/build-angular (12.0.0-rc.2)

Commit Description Notes
disable CSS declaration sorting optimizations [Closes #20693]

@angular/cli (12.0.0-rc.2)

Commit Description Notes
don't display options multiple times in schematics help output
change package installation to async
infer schematic defaults correctly when using `--project` [Closes #20666]

@ngtools/webpack (12.0.0-rc.2)

Commit Description Notes
rebuild Angular required files asynchronously
reduce source file and Webpack module iteration

@schematics/angular (12.0.0-rc.2)

Commit Description Notes
add "type" option in enum schematic
only run `emitDecoratorMetadata` removal migration in safe workspaces
replace `clientProject` with `project`


Special Thanks

Alan Agius, Charles Lyding, Keen Yee Liau, Sam Bulatov, Doug Parker

v12.0.0-rc.1 (2021-04-28)

Commits

@angular-devkit/build-angular (12.0.0-rc.1)

Commit Description Notes
remove left-over `forkTypeChecker` option
output webpack-dev-server and webpack-dev-middleware errors
improve incremental time during Karma tests
avoid async downlevel for known ES2015 code

@angular-devkit/core (12.0.0-rc.1)

Commit Description Notes
improve handling of set schema values [Closes #20594]

@angular/cli (12.0.0-rc.1)

Commit Description Notes
add package manager name and version in `ng version` output
Support XDG Base Directory Specification

@schematics/angular (12.0.0-rc.1)

Commit Description Notes
remove jasmine-spec-reporter and ts-node from default workspace
remove Protractor from home page
remove lint command from package.json [Closes #20618]
avoid unuse imports for canLoad guard generation
fix migration for namedChunks and option

@angular-devkit/schematics-cli (12.0.0-rc.1)

Commit Description Notes
accept windows like paths for schematics


Special Thanks

Alan Agius, Charles Lyding, Joey Perrott, Cédric Exbrayat, Doug Parker, Joshua Chapman, Billy Lando, Santosh Yadav, mzocateli

v12.0.0-rc.0 (2021-04-21)

Commits

@angular-devkit/build-angular (12.0.0-rc.0)

Commit Description Notes
avoid double build optimizer processing
replace Webpack 4 `hashForChunk` hook usage
use new Webpack watch API in karma webpack plugin
recover from CSS optimization errors
disable Webpack 5 automatic public path support
always inject live reload client when using live reload
change several builder options defaults
show warning when using stylus
set Tailwind CSS mode when using Tailwind
avoid triggering file change after file build
use Webpack's GC memory caching in watch mode

@angular/cli (12.0.0-rc.0)

Commit Description Notes
ignore `tsickle` during updates
run all migrations when updating from or between prereleases

@ngtools/webpack (12.0.0-rc.0)

Commit Description Notes
only track actual resource file dependencies
cache results of processed inline resources

@schematics/angular (12.0.0-rc.0)

Commit Description Notes
set `inlineStyleLanguage` when application `style` option is used
set `inlineStyleLanguage` for universal if present in build options

Breaking Changes

@schematics/angular: remove `stylus` from `style` options (fd729ac)

`styl` (Stylus) is no longer a supported value as `style` in `application`, `component`, `ng-new` schematics. Stylus is not actively maintained and only 0.3% of the Angular CLI users use it.

(cherry picked from commit 0272fc55b67d1a3f986b996c8eb21aea31eedf51)

@angular-devkit/build-angular: change several builder options defaults (656f8d7)

A number of browser and server builder options have had their default values changed. The aim of these changes is to reduce the configuration complexity and support the new "production builds by default" initiative.

Browser builder | Option | Previous default value | New default value | |----------------------------------------|---------------------------|-------------------| | optimization | false | true | | aot | false | true | | buildOptimizer | false | true | | sourceMap | true | false | | extractLicenses | false | true | | namedChunks | true | false | | vendorChunk | true | false |

Server builder | Option | Previous default value | New default value | |---------------|------------------------|-------------------| | optimization | false | true | | sourceMap | true | false |

(cherry picked from commit 0a74d0d28daf68510459ed73ef048c91bfcabbbc)


Special Thanks

Alan Agius, Charles Lyding, Keen Yee Liau, Joey Perrott, David Shevitz

v12.0.0-next.9 (2021-04-14)

Commits

@angular-devkit/build-angular (12.0.0-next.9)

Commit Description Notes
upgrade to Webpack 5 throughout the build system
support processing component inline CSS styles
support specifying stylesheet language for inline component styles
update karma builder to use non-deprecated API
disable webpack cache when using `NG_BUILD_CACHE`
remove duplicate application bundle generation complete message
mark programmatic builder execution functions as experimental

@angular-devkit/build-webpack (0.1200.0-next.9)

Commit Description Notes
support Webpack 5

@angular-devkit/core (12.0.0-next.9)

Commit Description Notes
update schema validator

@angular/cli (12.0.0-next.9)

Commit Description Notes
add message update updating from non LTS versions of the CLI

@ngtools/webpack (12.0.0-next.9)

Commit Description Notes
support multiple plugin instances per compilation
support generating data URIs for inline component styles in JIT
support processing inline component styles in AOT

@schematics/angular (12.0.0-next.9)

Commit Description Notes
configure new libraries to be published in Ivy partial mode
update `jasmine-spec-reporter` to version 7
migrate web workers to support Webpack 5
update web-worker to support Webpack 5

Breaking Changes

@angular-devkit/core: update schema validator (0875313)

support for JSON Schema draft-04 and draft-06 is removed. If you have schemas using the `id` keyword replace them with `$id`. For an interim period we will auto rename any top level `id` keyword to `$id`.

NB: This change only effects schematics and builders authors.

@angular-devkit/build-angular: upgrade to Webpack 5 throughout the build system (d883ce5)

Webpack 5 generates similar but differently named files for lazy loaded JavaScript files in development configurations (when the `namedChunks` option is enabled). For the majority of users this change should have no effect on the application and/or build process. Production builds should also not be affected as the `namedChunks` option is disabled by default in production configurations. However, if a project's post-build process makes assumptions as to the file names then adjustments may need to be made to account for the new naming paradigm. Such post-build processes could include custom file transformations after the build, integration into service-side frameworks, or deployment procedures. Example development file name change: `lazy-lazy-module.js` --> `src_app_lazy_lazy_module_ts.js`

@angular-devkit/build-angular: upgrade to Webpack 5 throughout the build system (d883ce5)

Webpack 5 now includes web worker support. However, the structure of the URL within the `Worker` constructor must be in a specific format that differs from the current requirement. Web worker usage should be updated as shown below (where `./app.worker` should be replaced with the actual worker name):

Before:

new Worker('./app.worker', ...)

After:

new Worker(new URL('./app.worker', import.meta.url), ...)

Special Thanks

Alan Agius, Charles Lyding, Keen Yee Liau, Doug Parker, Douglas Parker

v12.0.0-next.8 (2021-04-07)

Commits

@angular-devkit/build-angular (0.1200.0-next.8)

Commit Description Notes
remove deprecated i18nLocale and i18nFormat options from i18n-extract

@ngtools/webpack (12.0.0-next.8)

Commit Description Notes
remove Webpack plugin for deprecated ViewEngine compiler

@schematics/angular (12.0.0-next.8)

Commit Description Notes
run update-i18n migration for server builder

Breaking Changes

@ngtools/webpack: remove Webpack plugin for deprecated ViewEngine compiler (160102a)

Removal of View Engine support from application builds With the removal of the deprecated View Engine compiler in Angular version 12 for applications, the View Engine Webpack plugin has been removed. The Ivy-based Webpack plugin is the default used within the Angular CLI. If using a custom standalone Webpack configuration, the removed `AngularCompilerPlugin` should be replaced with the Ivy-based `AngularWebpackPlugin`.

@angular-devkit/build-angular: remove deprecated i18n options from server and browser builder (5cf9a08)

Removal of deprecated browser and server command options. - `i18nFile`, use `locales` object in the project metadata instead. - `i18nFormat`, No longer needed as the format will be determined automatically. - `i18nLocale`, use `localize` option instead.

@angular-devkit/build-angular: remove deprecated i18nLocale and i18nFormat options from i18n-extract (eca5a01)

Removal of deprecated `extract-i18n` command options The deprecated `i18nLocale` option has been removed and the `i18n.sourceLocale` within a project's configuration should be used instead. The deprecated `i18nFormat` option has been removed and the `format` option should be used instead.

Special Thanks

Charles Lyding, Renovate Bot, Alan Agius, Doug Parker, Joey Perrott

v12.0.0-next.7 (2021-04-02)

Commits

@angular-devkit/build-angular (0.1200.0-next.7)

Commit Description Notes
validate scripts and styles bundleName [Closes #20360]
remove deprecated View Engine support for i18n extraction
remove usage of deprecated View Engine compiler

@angular/cli (12.0.0-next.7)

Commit Description Notes
ensure update migrations are fully executed
exclude deprecated packages with removal migrations from update

@ngtools/webpack (12.0.0-next.7)

Commit Description Notes
use correct Webpack asset stage in resource loader
only check affected files for Angular semantic diagnostics

@schematics/angular (12.0.0-next.7)

Commit Description Notes
remove `entryComponent` from `component` schematic
correctly handle adding multi-line strings to `@NgModule` metadata
explicitly specify ServiceWorker registration strategy

Breaking Changes

@angular-devkit/build-angular: remove usage of deprecated View Engine compiler (677913f)

Removal of View Engine support from application builds With the removal of the deprecated View Engine compiler in Angular version 12 for applications, Ivy-based compilation will always be used when building an application. The default behavior for applications is to use the Ivy compiler when building and no changes are required for these applications. For applications that have opted-out of Ivy, a warning will be shown and an Ivy-based build will be attempted. If the build fails, the application may need to be updated to become Ivy compatible.

@schematics/angular: remove `entryComponent` from `component` schematic (8582ddc)

`entryComponent` option has been removed from the `component` schematic as this was intended to be used with the now no longer supported ViewEngine rendering engine.

@angular-devkit/build-angular: remove view engine app-shell generation (1c2aeeb)

App-shell builder now only supports generation using Ivy

@angular-devkit/build-angular: remove deprecated View Engine support for i18n extraction (012700a)

Removal of View Engine support from i18n extraction With the removal of the deprecated View Engine compiler in Angular version 12 for applications, the `ng extract-i18n` command will now always use the Ivy compiler. The `--ivy` option has also been removed as Ivy-based extraction is always enabled. The default behavior for applications is to use the Ivy compiler for building/extraction and no changes are required for these applications. For applications that have opted-out of Ivy, a warning will be shown and Ivy-based extraction will be attempted. If the extraction fails, the application may need to be updated to become Ivy compatible.

Special Thanks

Charles Lyding, Alan Agius, Renovate Bot, George Kalpakas, Joey Perrott, Keen Yee Liau

v12.0.0-next.6 (2021-03-24)

Commits

@angular-devkit/build-angular (0.1200.0-next.6)

Commit Description Notes
ensure output directory is present before writing stats JSON

@schematics/angular (12.0.0-next.6)

Commit Description Notes
add production by default optional migration
update new workspaces to use Karma 6.3
remove leftover workspace tslint config


Special Thanks

Renovate Bot, Alan Agius, Charles Lyding, Keen Yee Liau

v12.0.0-next.5 (2021-03-18)

Commits

@angular-devkit/build-angular (0.1200.0-next.5)

Commit Description Notes
expose legacy-migrate message format
integrate JIT mode linker [Closes #20281]
display correct filename for bundles that are ES2016+
don't load an input sourcemap from file when using Babel
support writing large Webpack stat outputs
skip FESM2015 from `async` transformation
remove Webpack Stats.toJson usage in analytics plugin
remove Webpack Stats.toJson usage in karma plugin
enforce Babel not to load sourcemaps from file
disable `showCircularDependencies` by default

@angular-devkit/build-webpack (0.1200.0-next.5)

Commit Description Notes
provide output path in builder results

@angular/cli (12.0.0-next.5)

Commit Description Notes
confirm ng add action before installation
support TypeScript 4.2
remove `project` from required properties in ng-packagr schema

@ngtools/webpack (12.0.0-next.5)

Commit Description Notes
remove Webpack 5 deprecation warning in resource loader
avoid adding transitive dependencies to Webpack's dependency graph
use precalculated dependencies in unused file check

@schematics/angular (12.0.0-next.5)

Commit Description Notes
update several TypeScript compilation target (Syntax)
remove tslint and codelyzer from new projects [Closes #20105]
[Closes #18465]
remove references to the prod flag
fix youtube icon margin
only show legacy browsers deprecation warning when option is used
remove Native value from viewEncapsulation option
use title for svg on home page

Breaking Changes

@angular/cli: confirm ng add action before installation (985dc1a)

The `ng add` command will now ask the user to confirm the package and version prior to installing and executing an uninstalled package. This new behavior allows a user to abort the action if the version selected is not appropriate or if a typo occurred on the command line and an incorrect package would be installed. A `--skip-confirmation` option has been added to skip the prompt and directly install and execute the package. This option is useful in CI and non-TTY scenarios such as automated scripts.

Special Thanks

Alan Agius, Charles Lyding, Renovate Bot, Doug Parker, Cédric Exbrayat, Kristiyan Kostadinov, Mouad Ennaciri, Omar Hasan

v12.0.0-next.4 (2021-03-10)

Commits

@angular-devkit/architect (0.1200.0-next.4)

Commit Description Notes
add implementation for defaultConfiguration

@angular-devkit/build-angular (0.1200.0-next.4)

Commit Description Notes
show warning during build when project requires IE 11 support
only remove nomodule and defer attributes empty values [Closes #20207]

@angular-devkit/core (12.0.0-next.4)

Commit Description Notes
add handling for `defaultConfiguration` target definition property

@angular/cli (12.0.0-next.4)

Commit Description Notes
deprecate `--prod` command line argument
add `defaultConfiguration` property to architect schema
avoid exceptions for expected errors in architect commands
add ng-packagr builder schema in IDE schema

@ngtools/webpack (12.0.0-next.4)

Commit Description Notes
drop support for string based lazy loading

@schematics/angular (12.0.0-next.4)

Commit Description Notes
add migration to update lazy loading string syntax to use dynamic imports
add migration to remove `lazyModules` configuration option
deprecate `legacyBrowsers` application and ng-new option
production builds by default
add `additionalProperties` to all schemas

Breaking Changes

@angular-devkit/build-angular: remove deprecated `lazyModules` option (8d66912)

Server and Browser builder `lazyModules` option has been removed without replacement.

@ngtools/webpack: drop support for string based lazy loading (0dc7327)

With this change we drop support for string based lazy loading `./lazy.module#LazyModule` use dynamic imports instead.

The following options which were used to support the above syntax were removed without replacement.

  • discoverLazyRoutes
  • additionalLazyModules
  • additionalLazyModuleResources
  • contextElementDependencyConstructor

Special Thanks

Alan Agius, Charles Lyding, Renovate Bot, Joey Perrott

v12.0.0-next.3 (2021-03-03)

Commits

@angular-devkit/build-angular (0.1200.0-next.3)

Commit Description Notes
enable inlineCritical by default
remove left-over `experimentalRollupPass` option
inline critical font-face rules when using crittical css inlining

@schematics/angular (12.0.0-next.3)

Commit Description Notes
update ng new links

Breaking Changes

@angular-devkit/build-angular: enable inlineCritical by default (aa3ea88)

Critical CSS inlining is now enabled by default. If you wish to turn this off set `inlineCritical` to `false`.

See: https://angular.dev/reference/configs/workspace-config#optimization-configuration


Special Thanks

Renovate Bot, Charles Lyding, Alan Agius, Keen Yee Liau, Douglas Parker, twerske

v12.0.0-next.2 (2021-02-24)

Commits

@angular-devkit/build-angular (0.1200.0-next.2)

Commit Description Notes
only show index and service worker status once
disable declaration and declarationMap [Closes #20103]

@angular/cli (12.0.0-next.2)

Commit Description Notes
remove npm 7 incompatibility notification

@schematics/angular (12.0.0-next.2)

Commit Description Notes
update new project dependencies version [Closes #20106]
augment `universal` schematics to import `platform-server` shims [Closes #40559]
add migration to remove emitDecoratorMetadata


Special Thanks

Renovate Bot, Charles Lyding, Alan Agius, Doug Parker, Joey Perrott, Jefiozie, George Kalpakas, Keen Yee Liau

v12.0.0-next.1 (2021-02-17)

Commits

@angular-devkit/build-angular (0.1200.0-next.1)

Commit Description Notes
drop support for ng-packagr version 11
drop support for karma version 5.2

@angular-devkit/build-optimizer (0.1200.0-next.1)

Commit Description Notes
support Webpack 5

@angular/cli (12.0.0-next.1)

Commit Description Notes
support update migration packages with no entry points [Closes #20032]
ensure odd number Node.js version message is a warning
improve error logging when resolving update migrations

@ngtools/webpack (12.0.0-next.1)

Commit Description Notes
support Webpack 5
normalize paths when pruning AOT rebuild requests

@schematics/angular (12.0.0-next.1)

Commit Description Notes
add migration to use new zone.js entry-points
use new zone.js entry-points

Breaking Changes

@angular-devkit/build-angular: drop support for zone.js 0.10 (f309516)

Minimum supported `zone.js` version is `0.11.4`

@angular-devkit/build-angular: drop support for ng-packagr version 11 (44e75be)

Minimum supported `ng-packagr` version is `12.0.0-next`

@angular-devkit/build-angular: drop support for karma version 5.2 (fa5cf53)

Minimum supported `karma` version is `6.0.0`

Special Thanks

Renovate Bot, Alan Agius, Charles Lyding, Keen Yee Liau, Aravind V Nair

v12.0.0-next.0 (2021-02-11)

Commits

@angular-devkit/build-angular (0.1200.0-next.0)

Commit Description Notes
add `postcss-preset-env` with stage 3 features
ensure i18n extraction sourcemaps are fully configured
the root Tailwind configuration file is always picked
fixed ignoring of karma plugins config [Closes #19993]

@angular-devkit/core (12.0.0-next.0)

Commit Description Notes
ensure job input values are processed in order

@angular/cli (12.0.0-next.0)

Commit Description Notes
update NPM 7 guidance

@ngtools/webpack (12.0.0-next.0)

Commit Description Notes
reduce overhead of Angular compiler rebuild requests

@schematics/angular (12.0.0-next.0)

Commit Description Notes
strict mode by default
add migration to remove deprecated options from 'angular.json'
only update removed v12 options in migration

Breaking Changes

set minimum Node.js version to 12.13 (d1f6169)

Node.js version 10 will become EOL on 2021-04-30. Angular CLI 12 will require Node.js 12.13+ or 14.15+. Node.js 12.13 and 14.15 are the first LTS releases for their respective majors.

@angular-devkit/build-angular: remove file-loader dependency (6732294)

The unsupported/undocumented, Webpack specific functionality to `import`/`require()` a non-module file has been removed.

Before

import img from './images/asset.png';

After

<img src="images/asset.png" />

Special Thanks

Renovate Bot, Charles Lyding, Alan Agius, Doug Parker, Bruno Baia, Amadou Sall, S. Iftekhar Hossain


Note: For release notes prior to this CHANGELOG see release notes.