Upgrading @angular/platform-browser 20 to 21
Breaking20.3.34 → 21.2.25Breaking34Security28Platform2Deprecated6New88Changed24Fixed307Other9
BreakingUpgrade verdict
32 breaking changes and 2 platform requirement changes and 27 security fixes.
In plain terms
- If a translation adds an attribute Angular does not recognize, it will no longer appear in the rendered output.
- Code passing ngModuleFactory to NgComponentOutlet must stop using that input.
- The ignoreChangesOutsideZone option is no longer available.
- The moduleId option is no longer part of Component metadata.
Must act Top 5 of 67 that need code or config changes
What you must change
Breaking32
Angular now only applies known HTML attributes in translated ICU content; unknown attributes are dropped and not rendered.
Removes the ngModuleFactory input of NgComponentOutlet.
NgComponentOutletngModuleFactoryRemoves the
ignoreChangesOutsideZone option.ignoreChangesOutsideZoneRemoves
moduleId from Component metadata.moduleIdComponentRemoves the deprecated
interpolation option on Components.interpolationComponentRemoves the deprecated ApplicationConfig export from platform-browser.
ApplicationConfigRemoves the deprecated UpgradeAdapter.
UpgradeAdapterRemoves NgModuleFactory; use NgModule instead.
NgModuleFactoryNgModuleServer-side bootstrapping no longer relies on a global platform injector and passes a BootstrapContext.
bootstrapApplicationBootstrapContextgetPlatformdestroyPlatformRemoves the
ignoreChangesOutsideZone option for configuring ZoneJS change detection behavior.ignoreChangesOutsideZoneAngular no longer provides a ZoneJS change detection scheduler by default; add
provideZoneChangeDetection to bootstrap providers.provideZoneChangeDetectionbootstrapApplicationbootstrapModuleAppModuleRemoves the deprecated
ApplicationConfig export from @angular/platform-browser; import it from @angular/core instead.ApplicationConfigRemoves
UpgradeAdapter; use upgrade/static instead.UpgradeAdapterupgrade/staticDrops support for IE and non-Chromium Edge.
Introduces BootstrapContext for server bootstrapping, removing reliance on a global platform injector.
BootstrapContextbootstrapApplicationgetPlatform()destroyPlatform()Removes the deprecated ApplicationConfig export from platform-browser.
ApplicationConfigRemoves the deprecated UpgradeAdapter.
UpgradeAdapterReverts support for nested animations in core.
Redoes the signal forms metadata API.
Changes the shape of SignalFormsConfig.classes so each function takes a Field directive instead of a FieldState.
SignalFormsConfig.classesFieldStateFieldprovideSignalFormsConfigRedoes the signal forms metadata API.
ngComponentOutletContent is now typed Node[][] | undefined instead of any[][] | undefined.
ngComponentOutletContentPreviously hidden type issues in host bindings may now surface in builds.
typeCheckHostBindingsangularCompilerOptionsThe compiler now errors when the emitDeclarationOnly TS option is enabled.
emitDeclarationOnlyCombining provideZoneChangeDetection with removed ZoneJS polyfills no longer disables the internal scheduler.
provideZoneChangeDetectionNgZoneTestBed now rethrows errors regardless of provideZoneChangeDetection usage.
provideZoneChangeDetectionTestBedrethrowApplicationErrorsconfigureTestingModuleStandardizes custom element signal input getters so signal inputs are read directly instead of by calling them.
elementRef.newInputelementRef.oldInputNotes that the new forms directive conflicts with existing FormArray directives or formArray inputs on the same element.
FormArrayformArrayMakes
lastSuccessfulNavigation a signal that must be invoked.lastSuccessfulNavigationConverts
lastSuccessfulNavigation to a signal, so it must now be invoked to read its value.lastSuccessfulNavigationTestBed now provides a fake PlatformLocation supporting the Navigation API, which may break some tests.
TestBedPlatformLocationMockPlatformLocationRouter navigations may take several additional microtasks to complete, which can affect timing-sensitive tests and rarely production apps.
Security27
Disallows event handler attributes in Meta.
MetaRejects dynamic script host elements in core.
Prevents caching of HTTP responses that include Set-Cookie headers.
Uses cryptographically secure SHA-256 for transfer cache key generation.
Sanitizes two-way properties in the compiler.
Hardens TransferState restoration against DOM clobbering.
TransferStateRejects non-HTTP(S) URLs in JSONP requests.
Hardens platform location origin validation during SSR.
Strips sensitive headers on cross-origin redirects in the service worker.
Hardens the inherit definition feature against polluted prototypes.
Uses Object.create(null) for LOCALE_DATA as a hardening measure.
Object.create()LOCALE_DATAThrows on suspicious URLs and restricts protocol-relative URLs in platform-server.
Sanitizes placeholder values.
Sanitizes dynamic href and xlink:href bindings on SVG a elements.
hrefxlink:hrefStrips namespaced SVG script elements during template compilation.
Sanitizes meta selectors.
Prevents SSRF bypasses via backslash URLs in HttpClient.
HttpClientSecures location and document initialization against SSRF and path hijack.
Validates security-sensitive attributes in i18n bindings.
Prevents SSRF bypasses via protocol-relative and backslash URLs.
Treats object[data] as a resource URL context in core.
object[data]Validates the locale in getOutputPathFn to prevent path traversal in localize.
getOutputPathFnSanitizes translated attribute bindings with interpolations.
Blocks creation of sensitive URI attributes from ICU messages.
Sanitizes sensitive attributes on SVG script elements.
Prevents XSS via SVG animation attributeName and MathML/SVG URLs in the compiler.
attributeNamePrevents XSRF token leakage to protocol-relative URLs.
Platform2
Drops support for TypeScript 5.8.
TypeScript versions less than 5.9 are no longer supported.
Deprecations to plan for
Deprecated6
Deprecates ServerXhr in @angular/platform-server.
ServerXhrDeprecates XHR support in @angular/platform-server in favor of standard fetch APIs.
@angular/platform-serverDeprecates the
VERSION export from @angular/upgrade.VERSIONDeprecates
VERSION from @angular/upgrade in favor of @angular/upgrade/static.VERSIONDeprecates the VERSION export from @angular/upgrade.
VERSIONDeprecates
HttpResponseBase.statusText.HttpResponseBase.statusTextAPI changes
Generated by DepDelta from published .d.ts files. Not mixed with prose notes.
- removed:
class ɵAsyncAnimationRendererFactory implements OnDestroy, RendererFactory2 - removed:
const ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN: InjectionToken<(<T>(loadFn: () => T) => T)> - removed:
constructor ɵAsyncAnimationRendererFactory(doc: Document, delegate: RendererFactory2, zone: NgZone, animationType: 'animations' | 'noop', moduleImpl?: Promise<{ ɵcreateEngine: (type: 'animations' | 'noop', doc: Document) => _AnimationEngine; ɵAnimationRendererFactory: typeof _AnimationRendererFactory }> | undefined) - removed:
function provideAnimationsAsync(type?: 'animations' | 'noop'): EnvironmentProviders - removed:
method ɵAsyncAnimationRendererFactory.begin(): void - removed:
method ɵAsyncAnimationRendererFactory.createRenderer(hostElement: any, rendererType: RendererType2): Renderer2 - removed:
method ɵAsyncAnimationRendererFactory.end(): void - removed:
method ɵAsyncAnimationRendererFactory.ngOnDestroy(): void - removed:
method ɵAsyncAnimationRendererFactory.whenRenderingDone?(): Promise<any> - removed:
protected method ɵAsyncAnimationRendererFactory.componentReplaced(componentId: string): void - removed:
static property ɵAsyncAnimationRendererFactory.ɵfac: i0.ɵɵFactoryDeclaration<AsyncAnimationRendererFactory, never> - removed:
static property ɵAsyncAnimationRendererFactory.ɵprov: i0.ɵɵInjectableDeclaration<AsyncAnimationRendererFactory>
- removed:
class BrowserAnimationsModule - removed:
class NoopAnimationsModule - removed:
class ɵInjectableAnimationEngine extends _AnimationEngine implements OnDestroy - removed:
constructor ɵInjectableAnimationEngine(doc: Document, driver: AnimationDriver, normalizer: _AnimationStyleNormalizer) - removed:
export { ANIMATION_MODULE_TYPE } from '@angular/core' - removed:
function provideAnimations(): Provider[] - removed:
function provideNoopAnimations(): Provider[] - removed:
interface BrowserAnimationsModuleConfig - removed:
method ɵInjectableAnimationEngine.ngOnDestroy(): void - removed:
property BrowserAnimationsModuleConfig.disableAnimations?: boolean - removed:
static method BrowserAnimationsModule.withConfig(config: BrowserAnimationsModuleConfig): ModuleWithProviders<BrowserAnimationsModule> - removed:
static property BrowserAnimationsModule.ɵfac: i0.ɵɵFactoryDeclaration<BrowserAnimationsModule, never> - removed:
static property BrowserAnimationsModule.ɵinj: i0.ɵɵInjectorDeclaration<BrowserAnimationsModule> - removed:
static property BrowserAnimationsModule.ɵmod: i0.ɵɵNgModuleDeclaration<BrowserAnimationsModule, never, never, [typeof BrowserModule]> - removed:
static property NoopAnimationsModule.ɵfac: i0.ɵɵFactoryDeclaration<NoopAnimationsModule, never> - removed:
static property NoopAnimationsModule.ɵinj: i0.ɵɵInjectorDeclaration<NoopAnimationsModule> - removed:
static property NoopAnimationsModule.ɵmod: i0.ɵɵNgModuleDeclaration<NoopAnimationsModule, never, never, [typeof BrowserModule]> - removed:
static property ɵInjectableAnimationEngine.ɵfac: i0.ɵɵFactoryDeclaration<InjectableAnimationEngine, never> - removed:
static property ɵInjectableAnimationEngine.ɵprov: i0.ɵɵInjectableDeclaration<InjectableAnimationEngine>
- removed:
class BrowserModule - removed:
const platformBrowser: (extraProviders?: StaticProvider[]) => PlatformRef - removed:
constructor BrowserModule() - removed:
function bootstrapApplication(rootComponent: Type<unknown>, options?: ApplicationConfig, context?: BootstrapContext): Promise<ApplicationRef> - removed:
function createApplication(options?: ApplicationConfig): Promise<ApplicationRef> - removed:
function provideProtractorTestingSupport(): Provider[] - removed:
interface BootstrapContext - removed:
property BootstrapContext.platformRef: PlatformRef - removed:
static property BrowserModule.ɵfac: i0.ɵɵFactoryDeclaration<BrowserModule, never> - removed:
static property BrowserModule.ɵinj: i0.ɵɵInjectorDeclaration<BrowserModule> - removed:
static property BrowserModule.ɵmod: i0.ɵɵNgModuleDeclaration<BrowserModule, never, never, [typeof i1.CommonModule, typeof i0.ApplicationModule]> - removed:
type ApplicationConfig = ApplicationConfig$1
- removed:
abstract class DomSanitizer implements Sanitizer - removed:
abstract class EventManagerPlugin - removed:
abstract method DomSanitizer.bypassSecurityTrustHtml(value: string): SafeHtml - removed:
abstract method DomSanitizer.bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl - removed:
abstract method DomSanitizer.bypassSecurityTrustScript(value: string): SafeScript - removed:
abstract method DomSanitizer.bypassSecurityTrustStyle(value: string): SafeStyle - removed:
abstract method DomSanitizer.bypassSecurityTrustUrl(value: string): SafeUrl - removed:
abstract method DomSanitizer.sanitize(context: SecurityContext, value: SafeValue | string | null): string | null - removed:
abstract method EventManagerPlugin.addEventListener(element: HTMLElement, eventName: string, handler: Function, options?: ListenerOptions): Function - removed:
abstract method EventManagerPlugin.supports(eventName: string): boolean - removed:
class By - removed:
class EventManager - removed:
class HammerGestureConfig - removed:
class HammerModule - removed:
class Meta - removed:
class Title - removed:
class ɵBrowserDomAdapter extends _DomAdapter - removed:
class ɵBrowserGetTestability implements GetTestability - removed:
class ɵDomEventsPlugin extends EventManagerPlugin - removed:
class ɵDomRendererFactory2 implements RendererFactory2, OnDestroy - removed:
class ɵDomSanitizerImpl extends DomSanitizer - removed:
class ɵHammerGesturesPlugin extends EventManagerPlugin - removed:
class ɵKeyEventsPlugin extends EventManagerPlugin - removed:
class ɵSharedStylesHost implements OnDestroy - removed:
const EVENT_MANAGER_PLUGINS: InjectionToken<EventManagerPlugin[]> - removed:
const HAMMER_GESTURE_CONFIG: InjectionToken<HammerGestureConfig> - removed:
const HAMMER_LOADER: InjectionToken<HammerLoader> - removed:
const REMOVE_STYLES_ON_COMPONENT_DESTROY: InjectionToken<boolean> - removed:
const VERSION: Version - removed:
const enum ɵRuntimeErrorCode - removed:
constructor EventManager(plugins: EventManagerPlugin[], _zone: NgZone) - removed:
constructor EventManagerPlugin(_doc: any) - removed:
constructor Meta(_doc: any) - removed:
constructor Title(_doc: any) - removed:
constructor ɵDomEventsPlugin(doc: any) - removed:
constructor ɵDomRendererFactory2(eventManager: EventManager, sharedStylesHost: SharedStylesHost, appId: string, removeStylesOnCompDestroy: boolean, doc: Document, ngZone: NgZone, nonce?: string | null, tracingService?: _TracingService<_TracingSnapshot> | null) - removed:
constructor ɵDomSanitizerImpl(_doc: any) - removed:
constructor ɵHammerGesturesPlugin(doc: any, _config: HammerGestureConfig, _injector: Injector, loader?: (HammerLoader | null) | undefined) - removed:
constructor ɵKeyEventsPlugin(doc: any) - removed:
constructor ɵSharedStylesHost(doc: Document, appId: string, nonce?: string | null | undefined, platformId?: object) - removed:
enum HydrationFeatureKind - removed:
export { ApplicationConfig } from './browser' - removed:
export { BootstrapContext } from './browser' - removed:
export { BrowserModule } from './browser' - removed:
export { bootstrapApplication } from './browser' - removed:
export { createApplication } from './browser' - removed:
export { platformBrowser } from './browser' - removed:
export { provideProtractorTestingSupport } from './browser' - removed:
export { ɵgetDOM } from '@angular/common' - removed:
function disableDebugTools(): void - removed:
function enableDebugTools<T>(ref: ComponentRef<T>): ComponentRef<T> - removed:
function provideClientHydration(...features: HydrationFeature<HydrationFeatureKind>[]): EnvironmentProviders - removed:
function withEventReplay(): HydrationFeature<HydrationFeatureKind.EventReplay> - removed:
function withHttpTransferCacheOptions(options: HttpTransferCacheOptions): HydrationFeature<HydrationFeatureKind.HttpTransferCacheOptions> - removed:
function withI18nSupport(): HydrationFeature<HydrationFeatureKind.I18nSupport> - removed:
function withIncrementalHydration(): HydrationFeature<HydrationFeatureKind.IncrementalHydration> - removed:
function withNoHttpTransferCache(): HydrationFeature<HydrationFeatureKind.NoHttpTransferCache> - removed:
interface HydrationFeature<FeatureKind extends HydrationFeatureKind> - removed:
interface SafeHtml extends SafeValue - removed:
interface SafeResourceUrl extends SafeValue - removed:
interface SafeScript extends SafeValue - removed:
interface SafeStyle extends SafeValue - removed:
interface SafeUrl extends SafeValue - removed:
interface SafeValue - removed:
member HydrationFeatureKind.EventReplay = 3 - removed:
member HydrationFeatureKind.HttpTransferCacheOptions = 1 - removed:
member HydrationFeatureKind.I18nSupport = 2 - removed:
member HydrationFeatureKind.IncrementalHydration = 4 - removed:
member HydrationFeatureKind.NoHttpTransferCache = 0 - removed:
member ɵRuntimeErrorCode.ANIMATION_RENDERER_ASYNC_LOADING_FAILURE = 5300 - removed:
member ɵRuntimeErrorCode.BROWSER_MODULE_ALREADY_LOADED = 5100 - removed:
member ɵRuntimeErrorCode.HYDRATION_CONFLICTING_FEATURES = 5001 - removed:
member ɵRuntimeErrorCode.INVALID_EVENT_ATTRIBUTE = 5203 - removed:
member ɵRuntimeErrorCode.NO_PLUGIN_FOR_EVENT = 5101 - removed:
member ɵRuntimeErrorCode.ROOT_NODE_NOT_FOUND = -5104 - removed:
member ɵRuntimeErrorCode.SANITIZATION_UNEXPECTED_CTX = 5202 - removed:
member ɵRuntimeErrorCode.SANITIZATION_UNSAFE_RESOURCE_URL = 5201 - removed:
member ɵRuntimeErrorCode.SANITIZATION_UNSAFE_SCRIPT = 5200 - removed:
member ɵRuntimeErrorCode.TESTABILITY_NOT_FOUND = 5103 - removed:
member ɵRuntimeErrorCode.UNEXPECTED_SYNTHETIC_PROPERTY = 5105 - removed:
member ɵRuntimeErrorCode.UNSUPPORTED_EVENT_TARGET = 5102 - removed:
member ɵRuntimeErrorCode.UNSUPPORTED_ZONEJS_INSTANCE = -5000 - removed:
method EventManager.addEventListener(element: HTMLElement, eventName: string, handler: Function, options?: ListenerOptions): Function - removed:
method EventManager.getZone(): NgZone - removed:
method HammerGestureConfig.buildHammer(element: HTMLElement): HammerInstance - removed:
method Meta.addTag(tag: MetaDefinition, forceCreation?: boolean): HTMLMetaElement | null - removed:
method Meta.addTags(tags: MetaDefinition[], forceCreation?: boolean): HTMLMetaElement[] - removed:
method Meta.getTag(attrSelector: string): HTMLMetaElement | null - removed:
method Meta.getTags(attrSelector: string): HTMLMetaElement[] - removed:
method Meta.removeTag(attrSelector: string): void - removed:
method Meta.removeTagElement(meta: HTMLMetaElement): void - removed:
method Meta.updateTag(tag: MetaDefinition, selector?: string): HTMLMetaElement | null - removed:
method Title.getTitle(): string - removed:
method Title.setTitle(newTitle: string): void - removed:
method ɵBrowserDomAdapter.createElement(tagName: string, doc?: Document): HTMLElement - removed:
method ɵBrowserDomAdapter.createHtmlDocument(): Document - removed:
method ɵBrowserDomAdapter.dispatchEvent(el: Node, evt: any): void - removed:
method ɵBrowserDomAdapter.getBaseHref(doc: Document): string | null - removed:
method ɵBrowserDomAdapter.getCookie(name: string): string | null - removed:
method ɵBrowserDomAdapter.getDefaultDocument(): Document - removed:
method ɵBrowserDomAdapter.getGlobalEventTarget(doc: Document, target: string): EventTarget | null - removed:
method ɵBrowserDomAdapter.getUserAgent(): string - removed:
method ɵBrowserDomAdapter.isElementNode(node: Node): boolean - removed:
method ɵBrowserDomAdapter.isShadowRoot(node: any): boolean - removed:
method ɵBrowserDomAdapter.onAndCancel(el: Node, evt: any, listener: any, options: any): Function - removed:
method ɵBrowserDomAdapter.remove(node: Node): void - removed:
method ɵBrowserDomAdapter.resetBaseElement(): void - removed:
method ɵBrowserGetTestability.addToWindow(registry: TestabilityRegistry): void - removed:
method ɵBrowserGetTestability.findTestabilityInTree(registry: TestabilityRegistry, elem: any, findInAncestors: boolean): Testability | null - removed:
method ɵDomEventsPlugin.addEventListener(element: HTMLElement, eventName: string, handler: Function, options?: ListenerOptions): Function - removed:
method ɵDomEventsPlugin.removeEventListener(target: any, eventName: string, callback: Function, options?: ListenerOptions): void - removed:
method ɵDomEventsPlugin.supports(eventName: string): boolean - removed:
method ɵDomRendererFactory2.createRenderer(element: any, type: RendererType2 | null): Renderer2 - removed:
method ɵDomRendererFactory2.ngOnDestroy(): void - removed:
method ɵDomSanitizerImpl.bypassSecurityTrustHtml(value: string): SafeHtml - removed:
method ɵDomSanitizerImpl.bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl - removed:
method ɵDomSanitizerImpl.bypassSecurityTrustScript(value: string): SafeScript - removed:
method ɵDomSanitizerImpl.bypassSecurityTrustStyle(value: string): SafeStyle - removed:
method ɵDomSanitizerImpl.bypassSecurityTrustUrl(value: string): SafeUrl - removed:
method ɵDomSanitizerImpl.sanitize(ctx: SecurityContext, value: SafeValue | string | null): string | null - removed:
method ɵHammerGesturesPlugin.addEventListener(element: HTMLElement, eventName: string, handler: Function): Function - removed:
method ɵHammerGesturesPlugin.isCustomEvent(eventName: string): boolean - removed:
method ɵHammerGesturesPlugin.supports(eventName: string): boolean - removed:
method ɵKeyEventsPlugin.addEventListener(element: HTMLElement, eventName: string, handler: Function, options?: ListenerOptions): Function - removed:
method ɵKeyEventsPlugin.supports(eventName: string): boolean - removed:
method ɵSharedStylesHost.addHost(hostNode: Node): void - removed:
method ɵSharedStylesHost.addStyles(styles: string[], urls?: string[]): void - removed:
method ɵSharedStylesHost.ngOnDestroy(): void - removed:
method ɵSharedStylesHost.removeHost(hostNode: Node): void - removed:
method ɵSharedStylesHost.removeStyles(styles: string[], urls?: string[]): void - removed:
property EventManagerPlugin.manager: EventManager - removed:
property HammerGestureConfig.events: string[] - removed:
property HammerGestureConfig.options?: { cssProps?: any; domEvents?: boolean; enable?: boolean | ((manager: any) => boolean); preset?: any[]; touchAction?: string; recognizers?: any[]; inputClass?: any; inputTarget?: EventTarget } - removed:
property HammerGestureConfig.overrides: { [key: string]: Object } - removed:
property HydrationFeature.ɵkind: FeatureKind - removed:
property HydrationFeature.ɵproviders: Provider[] - removed:
protected method ɵDomRendererFactory2.componentReplaced(componentId: string): void - removed:
protected method ɵSharedStylesHost.addUsage<T extends HTMLElement>(value: string, usages: Map<string, UsageRecord<T>>, creator: (value: string, doc: Document) => T): void - removed:
protected method ɵSharedStylesHost.removeUsage<T extends HTMLElement>(value: string, usages: Map<string, UsageRecord<T>>): void - removed:
readonly property ɵBrowserDomAdapter.supportsDOMEvents: boolean - removed:
readonly property ɵDomRendererFactory2.ngZone: NgZone - removed:
static method By.all(): Predicate<DebugNode> - removed:
static method By.css(selector: string): Predicate<DebugElement> - removed:
static method By.directive(type: Type<any>): Predicate<DebugNode> - removed:
static method ɵBrowserDomAdapter.makeCurrent(): void - removed:
static method ɵKeyEventsPlugin.eventCallback(fullKey: string, handler: Function, zone: NgZone): Function - removed:
static method ɵKeyEventsPlugin.matchEventFullKeyCode(event: KeyboardEvent, fullKeyCode: string): boolean - removed:
static method ɵKeyEventsPlugin.parseEventName(eventName: string): { fullKey: string; domEventName: string } | null - removed:
static property DomSanitizer.ɵfac: i0.ɵɵFactoryDeclaration<DomSanitizer, never> - removed:
static property DomSanitizer.ɵprov: i0.ɵɵInjectableDeclaration<DomSanitizer> - removed:
static property EventManager.ɵfac: i0.ɵɵFactoryDeclaration<EventManager, never> - removed:
static property EventManager.ɵprov: i0.ɵɵInjectableDeclaration<EventManager> - removed:
static property HammerGestureConfig.ɵfac: i0.ɵɵFactoryDeclaration<HammerGestureConfig, never> - removed:
static property HammerGestureConfig.ɵprov: i0.ɵɵInjectableDeclaration<HammerGestureConfig> - removed:
static property HammerModule.ɵfac: i0.ɵɵFactoryDeclaration<HammerModule, never> - removed:
static property HammerModule.ɵinj: i0.ɵɵInjectorDeclaration<HammerModule> - removed:
static property HammerModule.ɵmod: i0.ɵɵNgModuleDeclaration<HammerModule, never, never, never> - removed:
static property Meta.ɵfac: i0.ɵɵFactoryDeclaration<Meta, never> - removed:
static property Meta.ɵprov: i0.ɵɵInjectableDeclaration<Meta> - removed:
static property Title.ɵfac: i0.ɵɵFactoryDeclaration<Title, never> - removed:
static property Title.ɵprov: i0.ɵɵInjectableDeclaration<Title> - removed:
static property ɵDomEventsPlugin.ɵfac: i0.ɵɵFactoryDeclaration<DomEventsPlugin, never> - removed:
static property ɵDomEventsPlugin.ɵprov: i0.ɵɵInjectableDeclaration<DomEventsPlugin> - removed:
static property ɵDomRendererFactory2.ɵfac: i0.ɵɵFactoryDeclaration<DomRendererFactory2, [null, null, null, null, null, null, null, { optional: true }]> - removed:
static property ɵDomRendererFactory2.ɵprov: i0.ɵɵInjectableDeclaration<DomRendererFactory2> - removed:
static property ɵDomSanitizerImpl.ɵfac: i0.ɵɵFactoryDeclaration<DomSanitizerImpl, never> - removed:
static property ɵDomSanitizerImpl.ɵprov: i0.ɵɵInjectableDeclaration<DomSanitizerImpl> - removed:
static property ɵHammerGesturesPlugin.ɵfac: i0.ɵɵFactoryDeclaration<HammerGesturesPlugin, [null, null, null, { optional: true }]> - removed:
static property ɵHammerGesturesPlugin.ɵprov: i0.ɵɵInjectableDeclaration<HammerGesturesPlugin> - removed:
static property ɵKeyEventsPlugin.ɵfac: i0.ɵɵFactoryDeclaration<KeyEventsPlugin, never> - removed:
static property ɵKeyEventsPlugin.ɵprov: i0.ɵɵInjectableDeclaration<KeyEventsPlugin> - removed:
static property ɵSharedStylesHost.ɵfac: i0.ɵɵFactoryDeclaration<SharedStylesHost, [null, null, { optional: true }, null]> - removed:
static property ɵSharedStylesHost.ɵprov: i0.ɵɵInjectableDeclaration<SharedStylesHost> - removed:
type HammerLoader = () => Promise<void> - removed:
type MetaDefinition = { charset?: string; content?: string; httpEquiv?: string; id?: string; itemprop?: string; name?: string; property?: string; scheme?: string; url?: string } & {…
- removed:
class BrowserTestingModule - removed:
const platformBrowserTesting: (extraProviders?: StaticProvider[]) => PlatformRef - removed:
static property BrowserTestingModule.ɵfac: i0.ɵɵFactoryDeclaration<BrowserTestingModule, never> - removed:
static property BrowserTestingModule.ɵinj: i0.ɵɵInjectorDeclaration<BrowserTestingModule> - removed:
static property BrowserTestingModule.ɵmod: i0.ɵɵNgModuleDeclaration<BrowserTestingModule, never, never, [typeof BrowserModule]>
- added:
class BrowserModule - added:
const platformBrowser: (extraProviders?: StaticProvider[]) => PlatformRef - added:
constructor BrowserModule() - added:
function bootstrapApplication(rootComponent: Type<unknown>, options?: ApplicationConfig, context?: BootstrapContext): Promise<ApplicationRef> - added:
function createApplication(options?: ApplicationConfig, context?: BootstrapContext): Promise<ApplicationRef> - added:
function provideProtractorTestingSupport(): Provider[] - added:
interface BootstrapContext - added:
property BootstrapContext.platformRef: PlatformRef - added:
static property BrowserModule.ɵfac: i0.ɵɵFactoryDeclaration<BrowserModule, never> - added:
static property BrowserModule.ɵinj: i0.ɵɵInjectorDeclaration<BrowserModule> - added:
static property BrowserModule.ɵmod: i0.ɵɵNgModuleDeclaration<BrowserModule, never, never, [typeof i1.CommonModule, typeof i0.ApplicationModule]>
- added:
class BrowserAnimationsModule - added:
class NoopAnimationsModule - added:
class ɵInjectableAnimationEngine extends _AnimationEngine implements OnDestroy - added:
constructor ɵInjectableAnimationEngine(doc: Document, driver: AnimationDriver, normalizer: _AnimationStyleNormalizer) - added:
export { ANIMATION_MODULE_TYPE } from '@angular/core' - added:
function provideAnimations(): Provider[] - added:
function provideNoopAnimations(): Provider[] - added:
interface BrowserAnimationsModuleConfig - added:
method ɵInjectableAnimationEngine.ngOnDestroy(): void - added:
property BrowserAnimationsModuleConfig.disableAnimations?: boolean - added:
static method BrowserAnimationsModule.withConfig(config: BrowserAnimationsModuleConfig): ModuleWithProviders<BrowserAnimationsModule> - added:
static property BrowserAnimationsModule.ɵfac: i0.ɵɵFactoryDeclaration<BrowserAnimationsModule, never> - added:
static property BrowserAnimationsModule.ɵinj: i0.ɵɵInjectorDeclaration<BrowserAnimationsModule> - added:
static property BrowserAnimationsModule.ɵmod: i0.ɵɵNgModuleDeclaration<BrowserAnimationsModule, never, never, [typeof BrowserModule]> - added:
static property NoopAnimationsModule.ɵfac: i0.ɵɵFactoryDeclaration<NoopAnimationsModule, never> - added:
static property NoopAnimationsModule.ɵinj: i0.ɵɵInjectorDeclaration<NoopAnimationsModule> - added:
static property NoopAnimationsModule.ɵmod: i0.ɵɵNgModuleDeclaration<NoopAnimationsModule, never, never, [typeof BrowserModule]> - added:
static property ɵInjectableAnimationEngine.ɵfac: i0.ɵɵFactoryDeclaration<InjectableAnimationEngine, never> - added:
static property ɵInjectableAnimationEngine.ɵprov: i0.ɵɵInjectableDeclaration<InjectableAnimationEngine>
- added:
class ɵAsyncAnimationRendererFactory implements OnDestroy, RendererFactory2 - added:
const ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN: InjectionToken<(<T>(loadFn: () => T) => T)> - added:
constructor ɵAsyncAnimationRendererFactory(doc: Document, delegate: RendererFactory2, zone: NgZone, animationType: 'animations' | 'noop', moduleImpl?: Promise<{ ɵcreateEngine: (type: 'animations' | 'noop', doc: Document) => _AnimationEngine; ɵAnimationRendererFactory: typeof _AnimationRendererFactory }> | undefined) - added:
function provideAnimationsAsync(type?: 'animations' | 'noop'): EnvironmentProviders - added:
method ɵAsyncAnimationRendererFactory.begin(): void - added:
method ɵAsyncAnimationRendererFactory.createRenderer(hostElement: any, rendererType: RendererType2): Renderer2 - added:
method ɵAsyncAnimationRendererFactory.end(): void - added:
method ɵAsyncAnimationRendererFactory.ngOnDestroy(): void - added:
method ɵAsyncAnimationRendererFactory.whenRenderingDone?(): Promise<any> - added:
protected method ɵAsyncAnimationRendererFactory.componentReplaced(componentId: string): void - added:
static property ɵAsyncAnimationRendererFactory.ɵfac: i0.ɵɵFactoryDeclaration<AsyncAnimationRendererFactory, never> - added:
static property ɵAsyncAnimationRendererFactory.ɵprov: i0.ɵɵInjectableDeclaration<AsyncAnimationRendererFactory>
- added:
abstract class DomSanitizer implements Sanitizer - added:
abstract class EventManagerPlugin - added:
abstract method DomSanitizer.bypassSecurityTrustHtml(value: string): SafeHtml - added:
abstract method DomSanitizer.bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl - added:
abstract method DomSanitizer.bypassSecurityTrustScript(value: string): SafeScript - added:
abstract method DomSanitizer.bypassSecurityTrustStyle(value: string): SafeStyle - added:
abstract method DomSanitizer.bypassSecurityTrustUrl(value: string): SafeUrl - added:
abstract method DomSanitizer.sanitize(context: SecurityContext, value: SafeValue | string | null): string | null - added:
abstract method EventManagerPlugin.addEventListener(element: HTMLElement, eventName: string, handler: Function, options?: ListenerOptions): Function - added:
abstract method EventManagerPlugin.supports(eventName: string): boolean - added:
class By - added:
class EventManager - added:
class HammerGestureConfig - added:
class HammerModule - added:
class Meta - added:
class Title - added:
class ɵBrowserDomAdapter extends _DomAdapter - added:
class ɵBrowserGetTestability implements GetTestability - added:
class ɵDomEventsPlugin extends EventManagerPlugin - added:
class ɵDomRendererFactory2 implements RendererFactory2, OnDestroy - added:
class ɵDomSanitizerImpl extends DomSanitizer - added:
class ɵHammerGesturesPlugin extends EventManagerPlugin - added:
class ɵKeyEventsPlugin extends EventManagerPlugin - added:
class ɵSharedStylesHost implements OnDestroy - added:
const EVENT_MANAGER_PLUGINS: InjectionToken<EventManagerPlugin[]> - added:
const HAMMER_GESTURE_CONFIG: InjectionToken<HammerGestureConfig> - added:
const HAMMER_LOADER: InjectionToken<HammerLoader> - added:
const REMOVE_STYLES_ON_COMPONENT_DESTROY: InjectionToken<boolean> - added:
const VERSION: Version - added:
const enum ɵRuntimeErrorCode - added:
constructor EventManager(plugins: EventManagerPlugin[], _zone: NgZone) - added:
constructor EventManagerPlugin(_doc: any) - added:
constructor Meta(_doc: any) - added:
constructor Title(_doc: any) - added:
constructor ɵDomEventsPlugin(doc: any) - added:
constructor ɵDomRendererFactory2(eventManager: EventManager, sharedStylesHost: SharedStylesHost, appId: string, removeStylesOnCompDestroy: boolean, doc: Document, ngZone: NgZone, nonce?: string | null, tracingService?: _TracingService<_TracingSnapshot> | null) - added:
constructor ɵDomSanitizerImpl(_doc: any) - added:
constructor ɵHammerGesturesPlugin(doc: any, _config: HammerGestureConfig, _injector: Injector, loader?: (HammerLoader | null) | undefined) - added:
constructor ɵKeyEventsPlugin(doc: any) - added:
constructor ɵSharedStylesHost(doc: Document, appId: string, nonce?: string | null | undefined, platformId?: object) - added:
enum HydrationFeatureKind - added:
export { BootstrapContext } from './_browser-chunk' - added:
export { BrowserModule } from './_browser-chunk' - added:
export { bootstrapApplication } from './_browser-chunk' - added:
export { createApplication } from './_browser-chunk' - added:
export { platformBrowser } from './_browser-chunk' - added:
export { provideProtractorTestingSupport } from './_browser-chunk' - added:
export { ɵgetDOM } from '@angular/common' - added:
function disableDebugTools(): void - added:
function enableDebugTools<T>(ref: ComponentRef<T>): ComponentRef<T> - added:
function provideClientHydration(...features: HydrationFeature<HydrationFeatureKind>[]): EnvironmentProviders - added:
function withEventReplay(): HydrationFeature<HydrationFeatureKind.EventReplay> - added:
function withHttpTransferCacheOptions(options: HttpTransferCacheOptions): HydrationFeature<HydrationFeatureKind.HttpTransferCacheOptions> - added:
function withI18nSupport(): HydrationFeature<HydrationFeatureKind.I18nSupport> - added:
function withIncrementalHydration(): HydrationFeature<HydrationFeatureKind.IncrementalHydration> - added:
function withNoHttpTransferCache(): HydrationFeature<HydrationFeatureKind.NoHttpTransferCache> - added:
interface HydrationFeature<FeatureKind extends HydrationFeatureKind> - added:
interface SafeHtml extends SafeValue - added:
interface SafeResourceUrl extends SafeValue - added:
interface SafeScript extends SafeValue - added:
interface SafeStyle extends SafeValue - added:
interface SafeUrl extends SafeValue - added:
interface SafeValue - added:
member HydrationFeatureKind.EventReplay = 3 - added:
member HydrationFeatureKind.HttpTransferCacheOptions = 1 - added:
member HydrationFeatureKind.I18nSupport = 2 - added:
member HydrationFeatureKind.IncrementalHydration = 4 - added:
member HydrationFeatureKind.NoHttpTransferCache = 0 - added:
member ɵRuntimeErrorCode.ANIMATION_RENDERER_ASYNC_LOADING_FAILURE = 5300 - added:
member ɵRuntimeErrorCode.BROWSER_MODULE_ALREADY_LOADED = 5100 - added:
member ɵRuntimeErrorCode.HYDRATION_CONFLICTING_FEATURES = 5001 - added:
member ɵRuntimeErrorCode.INVALID_EVENT_ATTRIBUTE = 5203 - added:
member ɵRuntimeErrorCode.NO_PLUGIN_FOR_EVENT = 5101 - added:
member ɵRuntimeErrorCode.ROOT_NODE_NOT_FOUND = -5104 - added:
member ɵRuntimeErrorCode.SANITIZATION_UNEXPECTED_CTX = 5202 - added:
member ɵRuntimeErrorCode.SANITIZATION_UNSAFE_RESOURCE_URL = 5201 - added:
member ɵRuntimeErrorCode.SANITIZATION_UNSAFE_SCRIPT = 5200 - added:
member ɵRuntimeErrorCode.TESTABILITY_NOT_FOUND = 5103 - added:
member ɵRuntimeErrorCode.UNEXPECTED_SYNTHETIC_PROPERTY = 5105 - added:
member ɵRuntimeErrorCode.UNSUPPORTED_EVENT_TARGET = 5102 - added:
member ɵRuntimeErrorCode.UNSUPPORTED_ZONEJS_INSTANCE = -5000 - added:
method EventManager.addEventListener(element: HTMLElement, eventName: string, handler: Function, options?: ListenerOptions): Function - added:
method EventManager.getZone(): NgZone - added:
method HammerGestureConfig.buildHammer(element: HTMLElement): HammerInstance - added:
method Meta.addTag(tag: MetaDefinition, forceCreation?: boolean): HTMLMetaElement | null - added:
method Meta.addTags(tags: MetaDefinition[], forceCreation?: boolean): HTMLMetaElement[] - added:
method Meta.getTag(attrSelector: string): HTMLMetaElement | null - added:
method Meta.getTags(attrSelector: string): HTMLMetaElement[] - added:
method Meta.removeTag(attrSelector: string): void - added:
method Meta.removeTagElement(meta: HTMLMetaElement): void - added:
method Meta.updateTag(tag: MetaDefinition, selector?: string): HTMLMetaElement | null - added:
method Title.getTitle(): string - added:
method Title.setTitle(newTitle: string): void - added:
method ɵBrowserDomAdapter.createElement(tagName: string, doc?: Document): HTMLElement - added:
method ɵBrowserDomAdapter.createHtmlDocument(): Document - added:
method ɵBrowserDomAdapter.dispatchEvent(el: Node, evt: any): void - added:
method ɵBrowserDomAdapter.getBaseHref(doc: Document): string | null - added:
method ɵBrowserDomAdapter.getCookie(name: string): string | null - added:
method ɵBrowserDomAdapter.getDefaultDocument(): Document - added:
method ɵBrowserDomAdapter.getGlobalEventTarget(doc: Document, target: string): EventTarget | null - added:
method ɵBrowserDomAdapter.getUserAgent(): string - added:
method ɵBrowserDomAdapter.isElementNode(node: Node): boolean - added:
method ɵBrowserDomAdapter.isShadowRoot(node: any): boolean - added:
method ɵBrowserDomAdapter.onAndCancel(el: Node, evt: any, listener: any, options: any): Function - added:
method ɵBrowserDomAdapter.remove(node: Node): void - added:
method ɵBrowserDomAdapter.resetBaseElement(): void - added:
method ɵBrowserGetTestability.addToWindow(registry: TestabilityRegistry): void - added:
method ɵBrowserGetTestability.findTestabilityInTree(registry: TestabilityRegistry, elem: any, findInAncestors: boolean): Testability | null - added:
method ɵDomEventsPlugin.addEventListener(element: HTMLElement, eventName: string, handler: Function, options?: ListenerOptions): Function - added:
method ɵDomEventsPlugin.removeEventListener(target: any, eventName: string, callback: Function, options?: ListenerOptions): void - added:
method ɵDomEventsPlugin.supports(eventName: string): boolean - added:
method ɵDomRendererFactory2.createRenderer(element: any, type: RendererType2 | null): Renderer2 - added:
method ɵDomRendererFactory2.ngOnDestroy(): void - added:
method ɵDomSanitizerImpl.bypassSecurityTrustHtml(value: string): SafeHtml - added:
method ɵDomSanitizerImpl.bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl - added:
method ɵDomSanitizerImpl.bypassSecurityTrustScript(value: string): SafeScript - added:
method ɵDomSanitizerImpl.bypassSecurityTrustStyle(value: string): SafeStyle - added:
method ɵDomSanitizerImpl.bypassSecurityTrustUrl(value: string): SafeUrl - added:
method ɵDomSanitizerImpl.sanitize(ctx: SecurityContext, value: SafeValue | string | null): string | null - added:
method ɵHammerGesturesPlugin.addEventListener(element: HTMLElement, eventName: string, handler: Function): Function - added:
method ɵHammerGesturesPlugin.isCustomEvent(eventName: string): boolean - added:
method ɵHammerGesturesPlugin.supports(eventName: string): boolean - added:
method ɵKeyEventsPlugin.addEventListener(element: HTMLElement, eventName: string, handler: Function, options?: ListenerOptions): Function - added:
method ɵKeyEventsPlugin.supports(eventName: string): boolean - added:
method ɵSharedStylesHost.addHost(hostNode: Node): void - added:
method ɵSharedStylesHost.addStyles(styles: string[], urls?: string[]): void - added:
method ɵSharedStylesHost.ngOnDestroy(): void - added:
method ɵSharedStylesHost.removeHost(hostNode: Node): void - added:
method ɵSharedStylesHost.removeStyles(styles: string[], urls?: string[]): void - added:
property EventManagerPlugin.manager: EventManager - added:
property HammerGestureConfig.events: string[] - added:
property HammerGestureConfig.options?: { cssProps?: any; domEvents?: boolean; enable?: boolean | ((manager: any) => boolean); preset?: any[]; touchAction?: string; recognizers?: any[]; inputClass?: any; inputTarget?: EventTarget } - added:
property HammerGestureConfig.overrides: { [key: string]: Object } - added:
property HydrationFeature.ɵkind: FeatureKind - added:
property HydrationFeature.ɵproviders: Provider[] - added:
protected method ɵDomRendererFactory2.componentReplaced(componentId: string): void - added:
protected method ɵSharedStylesHost.addUsage<T extends HTMLElement>(value: string, usages: Map<string, UsageRecord<T>>, creator: (value: string, doc: Document) => T): void - added:
protected method ɵSharedStylesHost.removeUsage<T extends HTMLElement>(value: string, usages: Map<string, UsageRecord<T>>): void - added:
readonly property ɵBrowserDomAdapter.supportsDOMEvents: boolean - added:
readonly property ɵDomRendererFactory2.ngZone: NgZone - added:
static method By.all(): Predicate<DebugNode> - added:
static method By.css(selector: string): Predicate<DebugElement> - added:
static method By.directive(type: Type<any>): Predicate<DebugNode> - added:
static method ɵBrowserDomAdapter.makeCurrent(): void - added:
static method ɵKeyEventsPlugin.eventCallback(fullKey: string, handler: Function, zone: NgZone): Function - added:
static method ɵKeyEventsPlugin.matchEventFullKeyCode(event: KeyboardEvent, fullKeyCode: string): boolean - added:
static method ɵKeyEventsPlugin.parseEventName(eventName: string): { fullKey: string; domEventName: string } | null - added:
static property DomSanitizer.ɵfac: i0.ɵɵFactoryDeclaration<DomSanitizer, never> - added:
static property DomSanitizer.ɵprov: i0.ɵɵInjectableDeclaration<DomSanitizer> - added:
static property EventManager.ɵfac: i0.ɵɵFactoryDeclaration<EventManager, never> - added:
static property EventManager.ɵprov: i0.ɵɵInjectableDeclaration<EventManager> - added:
static property HammerGestureConfig.ɵfac: i0.ɵɵFactoryDeclaration<HammerGestureConfig, never> - added:
static property HammerGestureConfig.ɵprov: i0.ɵɵInjectableDeclaration<HammerGestureConfig> - added:
static property HammerModule.ɵfac: i0.ɵɵFactoryDeclaration<HammerModule, never> - added:
static property HammerModule.ɵinj: i0.ɵɵInjectorDeclaration<HammerModule> - added:
static property HammerModule.ɵmod: i0.ɵɵNgModuleDeclaration<HammerModule, never, never, never> - added:
static property Meta.ɵfac: i0.ɵɵFactoryDeclaration<Meta, never> - added:
static property Meta.ɵprov: i0.ɵɵInjectableDeclaration<Meta> - added:
static property Title.ɵfac: i0.ɵɵFactoryDeclaration<Title, never> - added:
static property Title.ɵprov: i0.ɵɵInjectableDeclaration<Title> - added:
static property ɵDomEventsPlugin.ɵfac: i0.ɵɵFactoryDeclaration<DomEventsPlugin, never> - added:
static property ɵDomEventsPlugin.ɵprov: i0.ɵɵInjectableDeclaration<DomEventsPlugin> - added:
static property ɵDomRendererFactory2.ɵfac: i0.ɵɵFactoryDeclaration<DomRendererFactory2, [null, null, null, null, null, null, null, { optional: true }]> - added:
static property ɵDomRendererFactory2.ɵprov: i0.ɵɵInjectableDeclaration<DomRendererFactory2> - added:
static property ɵDomSanitizerImpl.ɵfac: i0.ɵɵFactoryDeclaration<DomSanitizerImpl, never> - added:
static property ɵDomSanitizerImpl.ɵprov: i0.ɵɵInjectableDeclaration<DomSanitizerImpl> - added:
static property ɵHammerGesturesPlugin.ɵfac: i0.ɵɵFactoryDeclaration<HammerGesturesPlugin, [null, null, null, { optional: true }]> - added:
static property ɵHammerGesturesPlugin.ɵprov: i0.ɵɵInjectableDeclaration<HammerGesturesPlugin> - added:
static property ɵKeyEventsPlugin.ɵfac: i0.ɵɵFactoryDeclaration<KeyEventsPlugin, never> - added:
static property ɵKeyEventsPlugin.ɵprov: i0.ɵɵInjectableDeclaration<KeyEventsPlugin> - added:
static property ɵSharedStylesHost.ɵfac: i0.ɵɵFactoryDeclaration<SharedStylesHost, [null, null, { optional: true }, null]> - added:
static property ɵSharedStylesHost.ɵprov: i0.ɵɵInjectableDeclaration<SharedStylesHost> - added:
type HammerLoader = () => Promise<void> - added:
type MetaDefinition = { charset?: string; content?: string; httpEquiv?: string; id?: string; itemprop?: string; name?: string; property?: string; scheme?: string; url?: string } & {…
- added:
class BrowserTestingModule - added:
const platformBrowserTesting: (extraProviders?: StaticProvider[]) => PlatformRef - added:
static property BrowserTestingModule.ɵfac: i0.ɵɵFactoryDeclaration<BrowserTestingModule, never> - added:
static property BrowserTestingModule.ɵinj: i0.ɵɵInjectorDeclaration<BrowserTestingModule> - added:
static property BrowserTestingModule.ɵmod: i0.ɵɵNgModuleDeclaration<BrowserTestingModule, never, never, [typeof BrowserModule]>