Change8

20.0.0-rc.2

Breaking Changes
📦 angularView on GitHub →
3 breaking🐛 10 fixes1 deprecations🔧 7 symbols

Summary

This release introduces significant maintenance updates including a bump in minimum Node.js versions, the deprecation of the platform-browser-dynamic package, and several refinements to the new Resources API.

⚠️ Breaking Changes

  • Minimum Node.js version requirement has been increased. Ensure your environment uses Node.js 20.19, 22.12, or 24.0 or higher.
  • The 'reload' method has been moved from 'Resource' to 'WritableResource'. Update code to reference 'WritableResource' when calling 'reload'.
  • Accessing a resource value now throws an error instead of returning undefined in certain states. Update error handling logic around resource value access.

Migration Steps

  1. Upgrade Node.js to one of the supported versions: 20.19+, 22.12+, or 24.0+.
  2. Search for usages of '.reload()' on 'Resource' types and cast or migrate them to 'WritableResource'.
  3. Review resource value access logic to handle thrown errors instead of checking for 'undefined'.
  4. Plan migration away from '@angular/platform-browser-dynamic' as it is now deprecated.

🐛 Bug Fixes

  • Cancel reader and prevent reading chunks when the application is destroyed in @angular/common.
  • Avoid conflicts between HMR code and local symbols in the compiler.
  • Ensure compiler-cli always retains prior results for all files and avoids ECMAScript private field metadata emit.
  • Cleanup 'rxResource' abort listener and testability subscriptions in @angular/core.
  • Improved Chrome DevTools integration to handle different DI token types.
  • Narrowed error types for the resources API and fixed reading resource values after reload in error states.
  • Ensured TestBed.tick synchronizes test components correctly.
  • Prevented testing framework from throwing when Zone does not patch test FW APIs.
  • Fixed 'toSignal' to correctly unregister 'onDestroy' listeners.
  • Improved performance of base resolution in @angular/platform-server.

🔧 Affected Symbols

ResourceWritableResourcerxResourcetoSignalTestBed.tick@angular/platform-browser-dynamiconDestroy

⚡ Deprecations

  • All entries of the '@angular/platform-browser-dynamic' package are now deprecated.