🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

@angular/service-worker

Package Overview
Dependencies
Maintainers
2
Versions
844
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@angular/service-worker - npm Package Versions

2345
85

20.1.0-next.3

Diff
google-wombot
published 20.1.0-next.3 •
google-wombot
published 20.0.5 •
google-wombot
published 20.1.0-next.2 •
google-wombot
published 20.0.4 •

Changelog

Source

20.0.4 (2025-06-18)

core

| Commit | Type | Description | | -- | -- | -- | | e343cdfb86 | fix | Fixes template outlet hydration (#62012) | | 67f657e4a3 | fix | inject APP_ID before injector is destroyed (#61885) | | ae212b51ee | fix | Wrap ErrorEvent with no error property (#62081) |

migrations

| Commit | Type | Description | | -- | -- | -- | | 82bf9848a1 | fix | more robust trailing comma removal in unused imports migration (#62118) |

<!-- CHANGELOG SPLIT MARKER -->

<a name="20.1.0-next.1"></a>

google-wombot
published 20.1.0-next.1 •

Changelog

Source

20.1.0-next.1 (2025-06-11)

common

| Commit | Type | Description | | -- | -- | -- | | ef10aa4005 | feat | support decoding in NgOptimizedImage (#61905) |

compiler-cli

| Commit | Type | Description | | -- | -- | -- | | b7ab5fa256 | fix | add signal checks to handle negated calls (#59970) |

core

| Commit | Type | Description | | -- | -- | -- | | 3aa933acb7 | fix | components marked for traversal resets reactive context (#61663) | | e81ea0c3dd | fix | unregister onDestroy in outputToObservable (#61882) |

forms

| Commit | Type | Description | | -- | -- | -- | | 4f0221e193 | fix | improve select performance (#61949) |

<!-- CHANGELOG SPLIT MARKER -->

<a name="20.0.3"></a>

google-wombot
published 20.0.3 •

Changelog

Source

20.0.3 (2025-06-11)

<!-- CHANGELOG SPLIT MARKER -->

<a name="20.0.2"></a>

google-wombot
published 20.0.2 •

Changelog

Source

20.0.2 (2025-06-06)

core

| Commit | Type | Description | | -- | -- | -- | | 1e8158baee | fix | components marked for traversal resets reactive context (#61663) | | 1cd23be57e | fix | unregister onDestroy in outputToObservable (#61882) |

<!-- CHANGELOG SPLIT MARKER -->

<a name="20.1.0-next.0"></a>

google-wombot
published 20.1.0-next.0 •

Changelog

Source

20.1.0-next.0 (2025-06-04)

compiler

| Commit | Type | Description | | -- | -- | -- | | 5a76826d26 | fix | only report parser errors on invalid expression (#61793) | | e9fcbb8af1 | fix | remove TypeScript from linker (#61618) |

compiler-cli

| Commit | Type | Description | | -- | -- | -- | | e62fb359d6 | feat | add experimental support for fast type declaration emission (#61334) | | 0cf1001715 | feat | support host directives with direct external references in fast type declaration emission (#61469) | | 77fa204ad1 | fix | rename flag for enabling fast type declaration emission (#61353) | | c439d6938d | fix | symbol builder duplicating host directives (#61240) | | 3e1baa5a95 | fix | typo in NG2026 message (#61325) |

core

| Commit | Type | Description | | -- | -- | -- | | 8163a8995e | feat | Add destroyed property on DestroyRef (#61849) | | 4356e85456 | fix | fakeAsync should not depend on module import order (#61375) | | 583b9a7be5 | fix | missing useExisting providers throwing for optional calls (#61137) | | 8f65223bd8 | fix | update min Node.js support to 20.19, 22.12, and 24.0 (#61499) | | b785256b9e | perf | avoid intermediate arrays in definition (#61445) |

forms

| Commit | Type | Description | | -- | -- | -- | | 610bebfce9 | fix | Allow ControlState as reset arguments for FormGroup/FormRecord (#55860) |

language-service

| Commit | Type | Description | | -- | -- | -- | | cf55d1bdd4 | feat | Support importing the external module's export about the angular metadata. (#61122) |

service-worker

| Commit | Type | Description | | -- | -- | -- | | c67dbda8ff | feat | support notification closes (#61442) | | 6e1df54799 | feat | support push subscription changes (#61856) |

<!-- CHANGELOG SPLIT MARKER -->

<a name="20.0.1"></a>

google-wombot
published 20.0.1 •

Changelog

Source

20.0.1 (2025-06-04)

compiler

| Commit | Type | Description | | -- | -- | -- | | 66a0ec6510 | fix | move defer trigger assertions out of parser (#61747) | | 8ecb1ba027 | fix | recover invalid parenthesized expressions (#61815) |

core

| Commit | Type | Description | | -- | -- | -- | | 8c60cbfd1c | fix | takeUntilDestroyed completes immediately if DestroyRef already destroyed (#61847) | | b1d960d082 | fix | produce an error when incremental hydration is expected, but not configured (#61741) | | b4ed62ddf6 | fix | properly handle the case where getSignalGraph is called on a componentless NodeInjector (#60772) | | ddd22bea48 | fix | unregister onDestroy in ResourceImpl when destroy() is called (#61870) | | 5c31e7e28d | fix | unregister onDestroy when observable errors in toSignal (#61596) |

migrations

| Commit | Type | Description | | -- | -- | -- | | e9820a6d48 | fix | avoid trailing whitespaces in unused imports migration (#61698) |

service-worker

| Commit | Type | Description | | -- | -- | -- | | b93fa22f25 | fix | prevent duplicate fetches during concurrent update checks (#61443) | | 9743bd1317 | fix | update service worker to handle seeking better for videos (#60029) |

<!-- CHANGELOG SPLIT MARKER -->

<a name="20.0.0"></a>

google-wombot
published 20.0.0 •

Changelog

Source

20.0.0 (2025-05-28)

Blog post: https://blog.angular.dev/announcing-angular-v20-b5c9c06cf301

Breaking Changes

common

  • Using the Y formatter (week-numbering year) without also including w (week number) is now detected as suspicious date pattern, as y is typically intended.
  • AsyncPipe now directly catches unhandled errors in subscriptions and promises and reports them to the application's ErrorHandler. For Zone-based applications, these errors would have been caught by ZoneJS and reported to ErrorHandler so the result is generally the same. The change to the exact mechanism for reporting can result in differences in test environments that will require test updates.

compiler

  • 'in' in an expression now refers to the operator

  • void in an expression now refers to the operator

    Previously an expression in the template like {{void}} referred to a property on the component class. After this change it now refers to the void operator, which would make the above example invalid. If you have existing expressions that need to refer to a property named void, change the expression to use this.void instead: {{this.void}}.

core

  • TypeScript versions less than 5.8 are no longer supported.

  • the TestBed.flushEffects() was removed - use the TestBed.tick() instead.

  • provideExperimentalCheckNoChangesForDebug has several breaking changes:

    • It is renamed to provideCheckNoChangesConfig
    • The behavior applies to all checkNoChanges runs
    • The useNgZoneOnStable option is removed. This wasn't found to be generally more useful than interval
  • provideExperimentalZonelessChangeDetection is renamed to provideZonelessChangeDetection as it is now "Developer Preview" rather than "Experimental".

    • InjectFlags has been removed.
    • inject no longer accepts InjectFlags.
    • Injector.get no longer accepts InjectFlags.
    • EnvironmentInjector.get no longer accepts InjectFlags.
    • TestBed.get no longer accepts InjectFlags.
    • TestBed.inject no longer accepts InjectFlags.
    • TestBed.get has been removed. Use TestBed.inject instead.
  • afterRender was renamed to afterEveryRender.

    • Angular no longer supports Node.js v18.
    • Node.js versions 22.0 to 22.10 are also no longer supported.

    Before upgrading to Angular v20, ensure the Node.js version is at least 20.11.1. For the full list of supported versions, visit: https://angular.dev/reference/versions

  • PendingTasks.run no longer returns the result of the async function. If this behavior is desired, it can be re-implemented manually with the PendingTasks.add. Be aware, however, that promise rejections will need to be handled or they can cause the node process to shut down when using SSR.

  • Uncaught errors in listeners which were previously only reported to ErrorHandler are now also reported to Angular's internal error handling machinery. For tests, this means that the error will be rethrown by default rather than only logging the error. Developers should fix these errors, catch them in the test if the test is intentionally covering an error case, or use rethrowApplicationErrors: false in configureTestingModule as a last resort.

  • The any overload has been removed from injector.get. It now only supports ProviderToken<T> and (deprecated since v4) string.

  • Animations are guaranteed to be flushed when Angular runs automatic change detection or manual calls to ApplicationRef.tick. Prior to this change, animations would not be flushed in some situations if change detection did not run on any views attached to the application. This change can affect tests which may rely on the old behavior, often by making assertions on DOM elements that should have been removed but weren't because DOM removal is delayed until animations are flushed.

  • ApplicationRef.tick will no longer catch and report errors to the appplication ErrorHandler. Errors will instead be thrown out of the method and will allow callers to determine how to handle these errors, such as aborting follow-up work or reporting the error and continuing.

  • This commit deprecates ng-reflect-* attributes and updates the runtime to stop producing them by default. Please refactor application and test code to avoid relying on ng-reflect-* attributes.

    To enable a more seamless upgrade to v20, we've added the provideNgReflectAttributes() function (can be imported from the @angular/core package), which enables the mode in which Angular would be producing those attribites (in dev mode only). You can add the provideNgReflectAttributes() function to the list of providers within the bootstrap call.

router

  • The RedirectFn can now return Observable or Promise. Any code that directly calls functions returning this type may need to be adjusted to account for this.
  • Several methods in the public API of the Router which required writable arrays have now been updated to accept readonly arrays when no mutations are done.
  • The guards arrays on Route no longer include any in the type union. The union includes functions for the functional guards as well as a type matching Injector.get: ProviderToken<T>|string. Note that string is still deprecated on both the route guards and Injector.get.

Deprecations

core

  • ngIf/ngFor/ngSwitch are deprecated. Use the control flow blocks instead (@for/@if/@switch).

platform-browser

  • All entries of the @angular/platform-browser-dynamic
  • HammerJS support is deprecated and will be removed in a future major version.

platform-server

  • @angular/platform-server/testing

    Use e2e tests to verify SSR behavior instead.

common

| Commit | Type | Description | | -- | -- | -- | | 2e5362a469 | feat | accept undefined inputs in NgTemplateOutlet (#61404) | | b7d3f3dbfc | feat | Allow passing ScrollOptions to ViewportScroller (#61002) | | 74cceba587 | feat | throw error for suspicious date patterns (#59798) | | 255c79e048 | fix | cleanup updateLatestValue if view is destroyed before promise resolves (#58041) | | 739cadae62 | fix | Handle errors in async pipe subscriptions (#60057) | | cbbea70fa3 | fix | issue a warning instead of an error when NgOptimizedImage exceeds the preload limit (#60879) | | fc4a56d5c5 | fix | rename httpResource function in factory (#60022) | | 785a1110e6 | fix | resolve host binding type issues (#60481) |

compiler

| Commit | Type | Description | | -- | -- | -- | | 7a971766dc | feat | add extended diagnostic for uninvoked track function on @for blocks (#60495) | | f2d5cf7edd | feat | support exponentiation operator in templates (#59894) | | 51b8ff23ce | feat | support tagged template literals in expressions (#59947) | | 1b8e7ab9fe | feat | support the in keyword in Binary expression (#58432) | | 0361c2d81f | feat | support void operator in templates (#59894) | | 8b990a31c3 | fix | error if rawText isn't estimated correctly (#60529) | | 4fe489f1b4 | fix | exponentiation should be right-to-left associative (#60101) | | ef1fd137a9 | fix | incorrect spans for template literals (#60323) | | e0d378d20e | fix | incorrectly handling let declarations inside i18n (#60512) | | b70ad3c4e6 | fix | proper handling of typeof, void in RecursiveAstVisitor (#60101) | | e25e6c95a2 | fix | remove TypeScript from linker (#61635) | | 768239a89c | perf | reduce allocations for let declarations only used in the same view (#60512) |

compiler-cli

| Commit | Type | Description | | -- | -- | -- | | bec1610da2 | feat | add extended diagnostic for invalid nullish coalescing (#60279) | | c889382a20 | feat | detect missing structural directive imports (#59443) | | 1971e57a45 | feat | support type checking of host bindings (#60267) | | 9ec9c7e1b8 | fix | avoid fatal diagnostics for invalid module schemas (#61220) | | a1cacc5b17 | fix | avoid fatal diagnostics for missing template files (#58673) | | 1e6faad479 | fix | correctly parse event name in HostListener (#60561) | | ffb19e64f1 | fix | preserve required parens for nullish coalescing (#60060) | | 7c9b4892e9 | fix | preserve required parens in exponentiation expressions (#60101) | | 7e03af898e | fix | set correct target when type checking events (#60561) | | 2d51a203dc | fix | wrong event name for host listener decorators (#60460) |

core

| Commit | Type | Description | | -- | -- | -- | | 22d3f0562c | feat | add hook for producer creation side effects (#60333) | | fe57332fc5 | feat | add input binding support to dynamically-created components (#60137) | | 65adb3024d | feat | Add provider which reports unhandled errors on window to ErrorHandler (#60704) | | b154fb3911 | feat | add support for two-way bindings on dynamically-created components (#60342) | | 82aa2c1a52 | feat | add the ability to apply directives to dynamically-created components (#60137) | | 326d48afb4 | feat | drop support for TypeScript older than 5.8 (#60197) | | d260ca3091 | feat | emit template function for template related profiler hooks (#60174) | | a4bad8d361 | feat | export signalGetFn from signal primitives (#60497) | | 4812215a7b | feat | Expose Injector.destroy on Injector created with Injector.create (#60054) | | c1bcae91dd | feat | expose performance data in Chrome DevTools (#60789) | | 809b5b4596 | feat | introduce new DI profiling event (#60158) | | d5fd7349fb | feat | introduce TestBed.tick() (#60993) | | 4e88e18a8e | feat | mark toObservable as stable (#60449) | | 727cda3856 | feat | mark linkedSignal API as public (#60865) | | 644d9f3bbd | feat | mark the toSignal API as stable (#60442) | | e711f99d81 | feat | move provideExperimentalCheckNoChangesForDebug to provideCheckNoChangesConfig (#60906) | | 7ccec1494f | feat | move DOCUMENT token into core (#60663) | | 953c4b2580 | feat | Move zoneless change detection to dev preview (#60748) | | 611baaf069 | feat | remove InjectFlags from public API (#60318) | | 5e209cb560 | feat | remove TestBed.get (#60414) | | d8fbb909ce | feat | rename afterRender to afterEveryRender and stabilize (#60999) | | 567522398f | feat | stabilize incremental hydration api (#60888) | | 8d050b5bfc | feat | stabilize linkedSignal API (#60741) | | 866cea9a05 | feat | Stabilize PendingTasks Injectable (#60716) | | bf8492b871 | feat | stabilize withI18nSupport() api (#60889) | | be44cc8f40 | feat | support listening to outputs on dynamically-created components (#60137) | | fe9b79b615 | feat | update Node.js version support (#60545) | | e170d24240 | fix | add migration away from InjectFlags (#60318) | | 7eb59d3887 | fix | added @angular/compiler as a peer dependency (#55610) | | 7232ce5b17 | fix | Catch and report rejections in async function of PendingTasks.run (#60044) | | fd12220a35 | fix | defer block render failures should report to application error handler (#60149) | | 3459faadbf | fix | do not allow setInput to be used with inputBinding (#60137) | | 0ac949c266 | fix | do not run change detection on global error events (#60944) | | 4fe34f4cfe | fix | enable stashing only when withEventReplay() is invoked (#61077) | | 962b59b14e | fix | Ensure ComponentFixture does not duplicate error reporting from FakeAsync (#60104) | | 7b819be83f | fix | Ensure errors in listeners report to the application error handler (#60251) | | ff772d7800 | fix | fix typing on injector.get to omit 'any' (#60202) | | 13d1c8ab38 | fix | fixes timing of hydration cleanup on control flow (#60425) | | 0b69b61929 | fix | Flush animations when no component has been checked (#58089) | | 3ba39bc28f | fix | getting resource value throws an error instead of returning undefined (#61441) | | ca6295e90b | fix | handle different DI token types in Chrome DevTools integration (#61333) | | 0162ceb427 | fix | inject migration should treat @Attribute as optional (#60916) | | ea5eb28865 | fix | input targeting not checking if input exists on host (#60137) | | c8951159ac | fix | mark zone.js as an optional peer dependency (#61616) | | d62379bb13 | fix | move reload method from Resource to WritableResource (#61441) | | a89f1cff24 | fix | narrow error type for resources API (#61441) | | 624be2ef0c | fix | prevent stash listener conflicts (#59635) | | 017cc0a37c | fix | properly handle app stabilization with defer blocks (#61040) | | 6e79eaf739 | fix | reading resource value after reload in the error state (#61441) | | 3d85d9363c | fix | reduce total memory usage of various migration schematics (#60774) | | 1c7b356625 | fix | release hasPendingTasks observers (#59723) | | 43cbc58254 | fix | remove forceRoot flag for effects (#60535) | | 48974c3cf8 | fix | remove rejectErrors option encourages uncaught exceptions (#60397) | | 491b0a4ead | fix | Remove duplicate reporting of errors in CDR.detectChanges (#60056) | | 04d963c0a5 | fix | remove unused parameter from listener instruction (#60406) | | 0ae1889560 | fix | run ApplicationRef.prototype.bootstrap in NgZone (#60720) | | a611b234d7 | fix | run root effects in creation order (#60534) | | 338818ce89 | fix | Surface errors from ApplicationRef.tick to callsite (#60102) | | 350776b412 | fix | TestBed.tick should ensure test components are synchronized (#61382) | | 3d4ddd2247 | fix | Testing should not throw when Zone does not patch test FW APIs (#61628) | | 30e081287d | fix | update min Node.js support to 20.19, 22.12, and 24.0 (#61500) | | b407157ee8 | refactor | Deprecate the structural directives ngIf/ngFor/ngSwitch. (#60492) | | c2987d8402 | refactor | stop producing ng-reflect attributes by default (#60973) |

forms

| Commit | Type | Description | | -- | -- | -- | | a07ee60989 | feat | add markAllAsDirty to AbstractControl (#58663) | | bdfbd54932 | feat | Allow to reset a form without emitting events (#60354) | | 81fe0536fd | fix | Make sure statusChanges is emitted (#57098) | | bdd5e20423 | fix | resolve host binding type issues (#60481) |

http

| Commit | Type | Description | | -- | -- | -- | | ccc5cc068f | feat | add keepalive support for fetch requests (#60621) | | 5795e03cdf | fix | Delay stabilization until next app synchronization (#60656) |

platform-browser

| Commit | Type | Description | | -- | -- | -- | | bc2cab747f | refactor | Deprecate the platform-browser-dynamic package (#61043) | | a980ac9a6a | refactor | Deprecate the HammerJS integration (#60257) |

platform-server

| Commit | Type | Description | | -- | -- | -- | | 2240a21c97 | refactor | deprecate the testing entry point (#60915) |

router

| Commit | Type | Description | | -- | -- | -- | | 0bb4bd661e | feat | Add ability to directly abort a navigation (#60380) | | 62de7d930a | feat | add asynchronous redirects (#60863) | | 7c12cb1df9 | feat | Allow resolvers to read resolved data from ancestors (#59860) | | ff98ccb193 | feat | support custom elements for RouterLink (#60290) | | 219f41d049 | fix | Prevent dangling promise rejections from internal navigations (#60162) | | 2419060fef | fix | relax required types on router commands to readonly array (#60345) | | c57951d58f | fix | Remove 'any' type from route guards (#60378) | | db2f2d99c8 | fix | Scroller should scroll as soon as change detection completes (#60086) |

<!-- CHANGELOG SPLIT MARKER -->

<a name="19.2.14"></a>

2345
85