Last 7 days
3
Features: 0
Changes: 2
Fixes: 1
Deprecations: 0
Full-featured web application framework maintained by Google.
Latest Angular changelog updates, official release notes, breaking changes, security patches, pricing changes, and developer reactions in one product feed.
Follow this Angular release-notes page to spot useful features, risky migrations, noisy announcements, and source links before they hit your backlog.
Changes.Watch links back to official changelog and release-note sources so summaries stay easy to verify.
Use channels to follow groups of tools around a stack, workflow, or topic.
Rolling windows show how many product updates landed in the last 7, 30, 90, and 365 days, grouped by existing changelog semantics.
3
11
35
106
Core and compiler updates replace hasOwnProperty with Object.hasOwn, add readonly array support for metadata decorators, expose debuggableFn for signal nodes, and improve hydration error handling.
Event handler attributes (e.g., onclick) are no longer allowed on <meta> elements.
Disallows inline event handler attributes (e.g., onclick) in <meta> tags.
Fixed optional chaining expression generation and corrected symbol resolution for SafePropertyRead in the compiler CLI.
Sanitized host bindings on concrete hosts to improve security and data integrity
Sanitize host bindings on concrete hosts to improve security
Added template type‑checking that supports inline typecheck blocks
Added post‑runtime hydration triggers and enabled root interceptors in the terminal request chain.
Restricts i18n event attributes and limits event handler checks to property names longer than two characters.
Added extensive foreign‑component support and CSS‑var namespacing, including logical containers, host‑binding sanitization, and correct anchor ordering.
Disallow i18n event attributes and restrict event handler checks to property names longer than two characters
Preserve crossorigin attribute on image preloads and make SVG animation attributeName checks case‑insensitive
Added support for static attributes on explicit input transforms, multiple async validators, and preservation of intermediate number values in signal forms.
Updated Babel dependencies to v7 core and fixed caching bugs: missing locale data and Set-Cookie responses are no longer cached.
Updated Babel to latest v7 core in the compiler CLI
Added optional chaining for safe function calls in TCBs and made extractValue reactive for AbstractControl migrations.
Updated I18nSelectPipe to use Object.hasOwn for safer handling of null‑prototype objects and shadowed mappings.
Fix migration failure when tsconfig specifies a rootDir
Compiler improves JIT partial‑declarations handling and removes unused imports; CLI, Core, and HTTP add resilience by reporting diagnostics for malformed host bindings, avoiding uncaught promise errors in injectAsync, and preventing cach...
Skip transfer cache for uncacheable HTTP traffic and credentialed fetch requests, and add distinct handling for repeated transfer cache parameters.
Resolve relative workspace tsdk paths to absolute in VSCode extension
Hardened security by using SHA‑256 for cache keys, sanitizing MathML href attributes, stripping sensitive headers on cross‑origin redirects, and rejecting non‑HTTP(S) URLs in JSONP requests; added protections against prototype‑pollution ...
Hardened transfer cache and platform security by using SHA‑256 keys, skipping cache for uncacheable or credentialed requests, validating origin and stripping sensitive headers on cross‑origin redirects.
Improved security hardening: SHA‑256 transfer cache keys, TransferState DOM clobbering protection, lowercase SVG animation validation, JSONP URL restrictions, SSR origin checks, and service worker removal of sensitive headers on cross‑or...
Bundle updated to TypeScript 6.0, breaking existing configs because strict mode now defaults to true – adjust tsconfig or tsdk accordingly.
Breaking changes include new nullish diagnostics (nullishCoalescingNotNullable, optionalChainNotNullable) that cause compile errors, removal of duplicate input/output handling, compile‑time errors for multiple matching selectors, droppin...
Stripped literal “/index.html” suffix from URLs in the common module (minor/bugfix).
Added validation to throw errors for suspicious URLs and restrict protocol-relative URLs.
Add error handling for suspicious URLs
Disabled the VSCode language server in untrusted workspaces and added confirmation prompts before loading a workspace TypeScript SDK
Enhanced sanitization and tag name normalization across compiler, runtime, and SVG handling, syncing core sanitization schema.
Updated the compiler to retain namespaced SVG <style> elements during processing.
Prevent namespaced SVG <style> elements from being stripped during compilation
Added comprehensive sanitization and namespace handling: upper‑bounds for digitsInfo, normalized tag names (including custom namespaces) in compiler and runtime, and stripped/filtered unsafe SVG/script elements.
Added extensive sanitization updates: upper bounds for digitsInfo, normalized tag names, SVG href/xlink sanitization, stripping namespaced SVG script elements, rejecting script elements as component hosts, and synchronized core sanitizat...
Compiler and core tighten security: strip namespaced SVG script elements, reject script elements as dynamic component hosts, and make resource URL sanitizer lookup case‑insensitive.
Disallow event attribute bindings in host bindings, enforcing stricter security and potentially breaking existing code
Core now rejects event attribute bindings in host bindings, enforcing stricter rules (potential breaking change).
Added allowedHosts option to renderModule
Added explicit read generics for signal input transforms and enhanced signal migration support (e.g., visiting ngLet expression values).
Core: Disallow event attribute bindings in host bindings unconditionally, tightening security.
Fixed focus handling for scrollToAnchor and corrected declaration span range in the compiler.
Improved link formatting in the "Animating your Application with CSS" documentation.
Fix SSRF bypasses by rejecting protocol‑relative URLs
Prevented SSRF bypasses using protocol‑relative URLs.
Escape forward slashes in TransferState and normalize multiple leading slashes in URL parsing to improve crawler handling and routing consistency.
Compiler updates: support nested brackets in host object bindings and fix errors with type parameter declarations.
Add several security hardenings: register SVG animation attributes in the URL security context, block unsafe SVG animation bindings, treat object[data] as a resource URL, and validate locales to prevent path‑traversal.
Avoid redundant image fetches on destroy with auto sizes compiler
Fixed compiler code generation: proper parsing of digit-containing HTML entities, escaped template literals in TCB, and corrected generic type handling in type checks.
Disallow translation of iframe src attributes to block unsafe URLs
Disallows translation of iframe src attributes to block unsafe URLs
Disallow translations of iframe `src` attribute in the compiler.
Performed internal code refactorings with no visible changes to functionality
Ensured core definitions compile correctly.
Prevent mutation of the children array in RecursiveVisitor to ensure stable traversal
Update the VSCode extension to bundle TypeScript 5.9 internally
Added a transfer cache to httpResource to improve hydration handling and cache blob responses correctly.
Added lightweight project warmup for Angular analysis in the language service.
Core Angular now sanitizes ICU message translations by only applying known HTML attributes, dropping unknown ones.
Blocks creation of sensitive URI attributes within ICU message translations.
Added numerous compiler and runtime features: 'outlet' injector option for ngTemplateOutlet, ChangeDetectionStrategy.Eager alias, support for instanceof operator, nested animations, TypeScript 6, and enhanced ImageLoaderConfig.
Fix LCP image detection when duplicate URLs are present
Fix VSCode extension highlighting for optional chaining in function calls and for class bindings with brackets.
No user‑facing changes in this release.
Added geolocation element to core schema and support for signal‑based schemas in validation
Fixed linkedSignal.update to propagate errors, resolved debounce promise on abort and added a URL parser recursion limit to prevent stack overflow.
Forms now submit only visible, interactive fields
Add syntax highlighting for arrow functions in the VSCode extension
Compiler CLI drops the .tsx extension for generated relative imports.
Added custom image transformation support for Cloudflare, Cloudinary, ImageKit and Imgix loaders, plus multiple switch‑case matching and spread syntax handling
Adjusted control instruction order to follow other bindings.
Fixed conversion of enum member kind in VSCode extension completion items
Fixed memory leak caused by event replay
Sanitizes potentially dangerous attributes on SVG <script> elements
Added sanitization for sensitive attributes within SVG <script> elements.
- Enhanced compiler type accuracy (AST nodes, typeof/void spans, map key locations) and fixed component import diagnostics.
Prevent language service crashes caused by suggestion diagnostic errors
Updated SignalFormsConfig.classes to accept a Field directive instead of FieldState, introducing a breaking change for forms implementations.
Prevent false positive deprecation warnings when using InjectionToken with factory-only providers.
Extended compiler CLI with chain query creation and dynamic type support for native controls.
Compiler and core fixes: avoid signal allocation in production, ensure radio button values are strings, run animation queue in injector context, and fix viewProviders injection with host directives.
Added sanitization to block XSS vectors through SVG animation 'attributeName' attributes.
Fixed XSS vulnerability in SVG animation attributeName handling
Sanitized SVG animation attributeName to block XSS vectors.
Fixed XSRF token leakage in protocol‑relative URLs
Prevent XSRF token leakage to protocol‑relative URLs.
Added DI option for classes on the Field directive and enabled dynamic type bindings for signal form controls.
Fix memory leak in the language service when creating a project.
Added experimental Navigation API support, signal‑based forms, and many compiler/template enhancements (host binding type checking, IntersectionObserver options, regex in templates).
Added deeper nesting and complex selector support for :host and :nth‑child, including commas and an extra nesting level.
Reduced noise in required inputs diagnostics for the compiler CLI.
Block IPv6 localhost from preconnect checks
Fixed multiple bugs across animations, compiler, core, and router modules, including handling Element.animate exceptions, correct compilation of long numeric HTML entities, and false-negative diagnostics for missing structural directives.
Update animation scheduling in the core module.
Added metadata capture for undecorated fields and improved router scroll restoration with instant behavior
Fix animation handling: missing leave animations no longer queue, undefined CSS time values are safely parsed, and early exit from leave animations when multiple transitions are present is prevented.
Compiler now recovers template literals with broken expressions.
Added metadata capture for undecorated fields and improved import alias resolution in defer blocks and migrations.
Add support for the aria-invalid attribute in the compiler and improve CLI binding to only microsyntax inputs for structural directives.
Introduced `BootstrapContext` to replace the global platform injector in server-side bootstrapping.
Introduced BootstrapContext for improved server-side bootstrapping.
Removed the Refresh button from the Transfer State tab.
Fixed inject migration schematics to correctly handle destructured property migrations.
Fixed regression in event parsing and animate prefix handling.
Fixed animation handling for elements with structural directives, ensuring @for loop animations are not cancelled.
Compiler now retains parentheses when handling nullish coalescing combined with Boolean expressions.
Add a new currentNavigation signal to Router and deprecate Router.getCurrentNavigation, deprecate the animations package and related component field, and introduce numerous animation enhancements (enter/leave instructions, ARIA attribute...
Fixed error when ng-content fallback contains translated children
Fixed incorrect AST spans for input values with leading spaces in the compiler
Corrected type checking for host listeners in the compiler CLI and fixed core detection of failed fetch responses during JIT loading of external resources.
Exclude additional safe‑read expressions from two‑way binding in the compiler
Fix change tracking for Resource hasValue
Fixed detection of directive dependencies in JIT compilation.
Compiler fixes: corrected binary operation span handling, added permissive @‑character parsing, and CLI now infers event target types for void elements.
Add extensive support for fetch‑based HTTP options (cache, priority, credentials, keepalive, mode, redirect, timeout) and improve HttpClient diagnostics;
Updated compiler CLI to use the proper diagnostic type name.
Added pipe‑missing suggestion and improved initializer API handling in the compiler CLI.
Fixed template outlet hydration and ensured APP ID injection occurs before injector disposal
Fixed traversal marking causing reactive context reset in components (PR #61663)
- Compiler parser improvements: moved defer trigger assertions out of the parser and added recovery for invalid parenthesized expressions.
Removed legacy APIs and introduced breaking changes: dropped TypeScript <5.8 support, removed InjectFlags from injector/TestBed, eliminated TestBed.flushEffects (use TestBed.tick), renamed afterRender to afterEveryRender, renamed and alt...
Add lexer support for template literals inside object literals
Prevented injection of ApplicationRef into FetchBackend to avoid unnecessary dependencies.
Fix reader cancellation and prevent chunk reads after app destruction
Fixed updateLatestValue to safely handle destroyed views before promise resolution
Async EventEmitter errors are now isolated to avoid destabilizing the app.
NgForm now emits a FormSubmittedEvent
NgOptimizedImage now logs a warning instead of throwing an error when the preload limit is exceeded.
Fixed compiler rawText estimation error and language service completion bugs (end‑tag and dollar‑sign escaping).
Updated tutorial docs (step 6) and added missing peer dependency on @angular/common.
Fix core bug where used templates were not deleted (60459).
Improved diagnostics and error messages for invalid imports and missing input names.
Added equality support to httpResource and enhanced HMR generation for transformed classes.
Clean up onUrlChange listener removal on root scope destruction and add caching for ComponentRef inputs/outputs.
Introduced experimental httpResource, added streaming support, default values, cancel‑on‑duplicate request handling, and updated compatibility to TypeScript 5.8.
Fixed initialization order and added stack capture for HMR errors, improving runtime stability.
Cleaned up urlChanges subscribers when root scope is destroyed.
Updated compiler to support tracking expressions requiring temporary variables and correctly handle deferred blocks with shared dependencies
Gracefully fallback when const enums cannot be passed through
Improved stability by checking for destroyed applications before printing hydration stats, preserving types during HMR, and preventing error handling when the injector is destroyed.
Improved HMR handling: support for :host selector with comma-separated child selectors, capture self‑referencing components, replace metadata in place, and clear renderer cache for async animations
Enhanced HMR support: disabled tree shaking, added handling for shadow‑DOM components, and fixed mismatched components with ViewContainerRef.
Implemented HMR replacement execution within Angular zones for the platform-browser.
Expose component instance in NgComponentOutlet and add event listener options to the renderer.
Extend dependency extraction to support additional node types in compiler CLI
Enhanced HMR support by handling additional expression types, preserving defer block dependencies when class metadata is disabled, and fixing style replacement with animation renderer.
Avoid triggering on timer and idle on the server
CLI now recognizes pre‑release versions when checking feature support.
No changelog details provided for this release.
Fix HMR to handle multiple generated namespace imports in the compiler CLI
Fixed test failures caused by importing both HttpClientModule and HttpClientTestingModule.
Enhanced compiler CLI diagnostics for host binding parser errors.
Breaking: Core directives, components, and pipes are now standalone by default; remove deprecated APIs like BrowserModule.withServerTransition, Router.errorHandler, and KeyValueDiffers.factories, and note that this.foo no longer refers t...
Fix generic extraction from type aliases in the compiler CLI.
Avoid slow stringification when checking for duplicate entries in development mode, improving performance.
Fixed pseudo-selector transformation for the encapsulated view.
Compiler CLI now emits a diagnostic when an NgModule imports or exports itself.
Add support for multiple and nested :host selectors and combinators inside pseudo-selectors, preserving attributes and specificity
Fix image handling bugs: remove placeholder when already loaded, prevent duplicate oversize warnings, and skip SVG oversize checks
Version 18.2.6 released on 2024-09-25.
Fixed extended diagnostics to correctly validate ICU messages
Compiler now emits clearer, less noisy errors when parsing control flow.
Updated internal request handling to dynamically invoke the global fetch implementation.
Fixed memory leak on component creation errors and stopped capture event bubbling.
Enable zoneless scheduler to run inside fakeAsync tests
Compiler adds new diagnostics (uncalled functions, unused lets, template attributes) and supports JIT transforms on classes and NgModules when `jit: true` is set.
Compiler CLI now generates valid TypeScript 5.6 type‑checking code.
Reduced naming conflicts between generated factories and local variables
Reduced conflicts between generated factories and local variables.
Compiler now caps the number of chained instructions and adds a CLI warning for unused `let` declarations.
Fixed several compiler and core bugs: preconnect assertion on server, JIT host directive handling, strict equality for code comparison, and callback registration issues.
Fixed JIT mode misinterpreting host directive configuration during partial compilation.
Enhanced compiler diagnostics: added warnings for uncalled functions, improved let‑declaration handling (precedence, conflict detection, nested checks) and displayed template syntax errors locally.
Fixed CSS animation rule scoping issue.
Fixed server-side preconnect assertion in common module.
Updated documentation for afterRender hooks.
Insert constant statements after the first import group in the compiler CLI.
Fixed headless Chrome browser name handling and several stability issues (EventEmitter, signals tracking, migration errors)
Prevent migration of HttpClientModule imports on components and fix alias variable generation in migrations.
No new features or changes documented for this release.