20.0.0-rc.2
Breaking Changes📦 angularView on GitHub →
⚠ 3 breaking🐛 10 fixes⚡ 1 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
- Upgrade Node.js to one of the supported versions: 20.19+, 22.12+, or 24.0+.
- Search for usages of '.reload()' on 'Resource' types and cast or migrate them to 'WritableResource'.
- Review resource value access logic to handle thrown errors instead of checking for 'undefined'.
- 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.