{"id":231,"name":"@angular/animations","ecosystem":"npm","repository_url":"https://github.com/angular/angular","issues_count":4124,"created_at":"2025-06-06T15:01:33.281Z","updated_at":"2025-06-06T15:01:33.281Z","purl":"pkg:npm/@angular/animations","metadata":{"id":810634,"name":"@angular/animations","ecosystem":"npm","description":"Angular - animations integration with web-animations","homepage":"https://github.com/angular/angular","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/angular/angular","keywords_array":[],"namespace":"angular","versions_count":811,"first_release_published_at":"2017-02-25T01:51:53.272Z","latest_release_published_at":"2025-01-08T18:04:53.426Z","latest_release_number":"19.0.6","last_synced_at":"2025-01-13T15:53:43.490Z","created_at":"2022-04-07T13:32:43.510Z","updated_at":"2025-01-13T23:29:47.326Z","registry_url":"https://www.npmjs.com/package/@angular/animations","install_command":"npm install @angular/animations","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"v4-lts":"4.4.7","v5-lts":"5.2.11","v6-lts":"6.1.10","v7-lts":"7.2.15","v8-lts":"8.2.14","v9-lts":"9.1.13","v10-lts":"10.2.5","v11-lts":"11.2.14","v12-lts":"12.2.17","v14-lts":"14.3.0","v13-lts":"13.4.0","v15-lts":"15.2.10","v16-lts":"16.2.12","v17-lts":"17.3.12","v18-lts":"18.2.13","next":"19.1.0-rc.0","latest":"19.0.6"}},"repo_metadata":{"id":20907606,"uuid":"24195339","full_name":"angular/angular","owner":"angular","description":"Deliver web apps with confidence 🚀","archived":false,"fork":false,"pushed_at":"2025-01-09T15:31:33.000Z","size":520987,"stargazers_count":96611,"open_issues_count":1723,"forks_count":25698,"subscribers_count":3010,"default_branch":"main","last_synced_at":"2025-01-09T15:32:18.994Z","etag":null,"topics":["angular","javascript","pwa","typescript","web","web-framework","web-performance"],"latest_commit_sha":null,"homepage":"https://angular.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/angular.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-09-18T16:12:01.000Z","updated_at":"2025-01-09T15:31:39.000Z","dependencies_parsed_at":"2023-01-16T23:15:55.348Z","dependency_job_id":"ebddd996-be8e-4de8-84d6-28c66a9ab03d","html_url":"https://github.com/angular/angular","commit_stats":{"total_commits":31807,"total_committers":2192,"mean_commits":"14.510492700729927","dds":0.9393215329958814,"last_synced_commit":"f8d22a9ba4e426f14f9c7fd608e1ad752cd44eb5"},"previous_names":[],"tags_count":1061,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angular","download_url":"https://codeload.github.com/angular/angular/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233717445,"owners_count":18718997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"angular","name":"Angular","uuid":"139426","kind":"organization","description":"","email":"angular@angular.io","website":"https://angular.dev","location":"United States of America","twitter":"angular","company":null,"icon_url":"https://avatars.githubusercontent.com/u/139426?v=4","repositories_count":205,"last_synced_at":"2024-12-25T05:31:09.055Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/angular","funding_links":[],"total_stars":300272,"followers":7108,"following":0,"created_at":"2022-11-02T16:19:07.284Z","updated_at":"2024-12-25T05:31:09.055Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angular","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angular/repositories"},"tags":[{"name":"19.1.0-rc.0","sha":"77b24cd575093ecd646f922657cf338ce99fb04c","kind":"commit","published_at":"2025-01-08T18:24:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/19.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-rc.0/manifests"},{"name":"19.0.6","sha":"f0d52431c9861fb0e7bf43cbdbe6e34d3b15f9e8","kind":"commit","published_at":"2025-01-08T18:04:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.6","html_url":"https://github.com/angular/angular/releases/tag/19.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.6/manifests"},{"name":"19.1.0-next.4","sha":"f28359e5a36a58ad197384a3420850cff1b358ae","kind":"commit","published_at":"2024-12-18T19:05:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/19.1.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.4/manifests"},{"name":"19.0.5","sha":"22aacba5ca34e78acf20e11de982f11abedb5070","kind":"commit","published_at":"2024-12-18T18:57:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.5","html_url":"https://github.com/angular/angular/releases/tag/19.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.5/manifests"},{"name":"19.1.0-next.3","sha":"d6fdfb1f86c8bc8a5bde9a70da790da6832d7e99","kind":"commit","published_at":"2024-12-12T22:42:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/19.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.3/manifests"},{"name":"19.0.4","sha":"ec91da095fbb8da19b85d96370c03422a2bd5e77","kind":"commit","published_at":"2024-12-12T10:08:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.4","html_url":"https://github.com/angular/angular/releases/tag/19.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.4/manifests"},{"name":"19.1.0-next.2","sha":"4a030f7308b1e9c0fe6164f4533107f79004891c","kind":"commit","published_at":"2024-12-04T19:30:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/19.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.2/manifests"},{"name":"19.0.3","sha":"4dfe7f1ccec63f0f7129ea0353ea1ac5c3e27644","kind":"commit","published_at":"2024-12-04T19:20:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.3","html_url":"https://github.com/angular/angular/releases/tag/19.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.3/manifests"},{"name":"19.1.0-next.1","sha":"dc7d555e42839bb9554f77732b213f51d7b09a1c","kind":"commit","published_at":"2024-12-04T15:21:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/19.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.1/manifests"},{"name":"19.0.2","sha":"6ae3ce7c8132b13e4fad3cec57c161be16a8f1cc","kind":"commit","published_at":"2024-12-04T15:13:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.2","html_url":"https://github.com/angular/angular/releases/tag/19.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.2/manifests"},{"name":"18.2.13","sha":"e1e419aa021392e176148b864befd987f13e7ed2","kind":"commit","published_at":"2024-11-26T18:04:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.13","html_url":"https://github.com/angular/angular/releases/tag/18.2.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.13/manifests"},{"name":"19.1.0-next.0","sha":"fcde96d9fe4710eb71df94c41757e08ad91b2047","kind":"commit","published_at":"2024-11-26T17:58:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/19.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0-next.0/manifests"},{"name":"19.0.1","sha":"18091e72cb7e2e2f0b3f34b8f09f7a3386973fb8","kind":"commit","published_at":"2024-11-26T17:40:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.1","html_url":"https://github.com/angular/angular/releases/tag/19.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.1/manifests"},{"name":"19.0.0","sha":"e7566c3c475560616f97de2ab3c8f8d6f83be015","kind":"commit","published_at":"2024-11-19T14:21:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0","html_url":"https://github.com/angular/angular/releases/tag/19.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0/manifests"},{"name":"19.0.0-rc.3","sha":"36a5712b6759e893ce072cdc15b6293063843974","kind":"commit","published_at":"2024-11-15T17:37:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-rc.3/manifests"},{"name":"19.0.0-rc.2","sha":"e7131231fe5eecc99ea1904e96220089f88f58cb","kind":"commit","published_at":"2024-11-14T16:35:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-rc.2/manifests"},{"name":"18.2.12","sha":"76721458ec3a58a79702d8871bb4902b3f4444ac","kind":"commit","published_at":"2024-11-14T16:11:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.12","html_url":"https://github.com/angular/angular/releases/tag/18.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.12/manifests"},{"name":"19.0.0-rc.1","sha":"f994539f6b59e0cec839163aa435c26bfb96415d","kind":"commit","published_at":"2024-11-06T18:18:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-rc.1/manifests"},{"name":"18.2.11","sha":"681a63cedadeb9c54a636d3b7413b6e2ebc14999","kind":"commit","published_at":"2024-11-06T17:53:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.11","html_url":"https://github.com/angular/angular/releases/tag/18.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.11/manifests"},{"name":"19.0.0-rc.0","sha":"ee1d06c8fa1f0a6bf2e6ffb189c15266bbbd1d76","kind":"commit","published_at":"2024-10-30T20:20:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-rc.0/manifests"},{"name":"18.2.10","sha":"48eac2320d66bca2b07d29f65b15636f4abadb50","kind":"commit","published_at":"2024-10-30T19:07:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.10","html_url":"https://github.com/angular/angular/releases/tag/18.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.10/manifests"},{"name":"19.0.0-next.11","sha":"f418b49547b771f58b571860d66cce8505724fae","kind":"commit","published_at":"2024-10-23T20:19:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.11","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.11/manifests"},{"name":"18.2.9","sha":"fae3c837e27ff8f3d04caf74b3fe16e993691898","kind":"commit","published_at":"2024-10-23T20:11:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.9","html_url":"https://github.com/angular/angular/releases/tag/18.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.9/manifests"},{"name":"19.0.0-next.10","sha":"b05c266f7b588c0f67f48e685dbc641fd10f5109","kind":"commit","published_at":"2024-10-16T16:14:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.10","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.10/manifests"},{"name":"19.0.0-next.9","sha":"6530c5ecb0e4f6705843328bd8ce757ec5e30320","kind":"commit","published_at":"2024-10-10T10:16:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.9","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.9/manifests"},{"name":"18.2.8","sha":"2532ffa35e15388fb8cfd613c41b9a202fc1d725","kind":"commit","published_at":"2024-10-10T09:59:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.8","html_url":"https://github.com/angular/angular/releases/tag/18.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.8/manifests"},{"name":"19.0.0-next.8","sha":"d48aac8d44ad928d6441b4ae717a7ca5fbecf9b4","kind":"commit","published_at":"2024-10-02T13:24:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.8","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.8/manifests"},{"name":"18.2.7","sha":"46b088a245d19e446624f095d69560b0404270f5","kind":"commit","published_at":"2024-10-02T12:31:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.7","html_url":"https://github.com/angular/angular/releases/tag/18.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.7/manifests"},{"name":"19.0.0-next.7","sha":"1549afe10eddc92845cd1fde862aaa010c2395af","kind":"commit","published_at":"2024-09-25T17:14:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.7/manifests"},{"name":"18.2.6","sha":"1391928e0afdaa19d12e81feb591d3b61db2286d","kind":"commit","published_at":"2024-09-25T17:00:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.6","html_url":"https://github.com/angular/angular/releases/tag/18.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.6/manifests"},{"name":"19.0.0-next.6","sha":"538dd297553df8acb38d6ac173a3d6e33a3e29ce","kind":"commit","published_at":"2024-09-18T15:38:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.6/manifests"},{"name":"18.2.5","sha":"2f96a348be2772d352cad000f9e8f840d29c8531","kind":"commit","published_at":"2024-09-18T15:29:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.5","html_url":"https://github.com/angular/angular/releases/tag/18.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.5/manifests"},{"name":"19.0.0-next.5","sha":"488621fd78304baaeff98fcd29ce5fff1df16c67","kind":"commit","published_at":"2024-09-11T20:27:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.5/manifests"},{"name":"18.2.4","sha":"7339e08c8a17d8d3ad7394b64a433db9b7635ee0","kind":"commit","published_at":"2024-09-11T19:59:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.4","html_url":"https://github.com/angular/angular/releases/tag/18.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.4/manifests"},{"name":"19.0.0-next.4","sha":"d58ffd6d90b386edcf6a3c79287a04c4bc179a27","kind":"commit","published_at":"2024-09-09T18:15:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.4/manifests"},{"name":"19.0.0-next.3","sha":"3c756848f7296144e2400c51c63a1fae321bd137","kind":"commit","published_at":"2024-09-04T15:32:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.3/manifests"},{"name":"18.2.3","sha":"f75429d8a8a1e47d249775b0a3baf4ddecbd041f","kind":"commit","published_at":"2024-09-04T15:25:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.3","html_url":"https://github.com/angular/angular/releases/tag/18.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.3/manifests"},{"name":"19.0.0-next.2","sha":"4b04a0e61a64cd9e77c9ace159f9a1339ad3bb0a","kind":"commit","published_at":"2024-08-28T21:38:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.2/manifests"},{"name":"18.2.2","sha":"1853bbb061db6faa8bfed0e407b35c3025d43274","kind":"commit","published_at":"2024-08-28T21:32:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.2","html_url":"https://github.com/angular/angular/releases/tag/18.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.2/manifests"},{"name":"18.2.1","sha":"a6225a6cdda955e4b33b81384c218ad54f7a702b","kind":"commit","published_at":"2024-08-22T16:00:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.1","html_url":"https://github.com/angular/angular/releases/tag/18.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.1/manifests"},{"name":"19.0.0-next.1","sha":"66da115ed811af516766ccf67aacb0813a0ae1e8","kind":"commit","published_at":"2024-08-22T15:50:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.1/manifests"},{"name":"zone.js-0.15.0","sha":"d1d4adcba24affa30a903acedeb41d1e63776778","kind":"commit","published_at":"2024-08-21T18:30:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.15.0","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.15.0/manifests"},{"name":"19.0.0-next.0","sha":"5537bf802f8eda54ff7572905cf3bb2fc0e0e431","kind":"commit","published_at":"2024-08-14T16:49:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/19.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.0-next.0/manifests"},{"name":"18.2.0","sha":"d49e08399962f454346705fd05076ace9e2244e8","kind":"commit","published_at":"2024-08-14T16:40:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.0","html_url":"https://github.com/angular/angular/releases/tag/18.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0/manifests"},{"name":"18.1.5","sha":"ecb44d3d65c8581fb7bbdaaf96bd53a8cbe9c9a6","kind":"commit","published_at":"2024-08-14T16:29:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.5","html_url":"https://github.com/angular/angular/releases/tag/18.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.5/manifests"},{"name":"18.2.0-rc.0","sha":"02d613ef9cf16c6291e6966afe413168c22dc5e4","kind":"commit","published_at":"2024-08-07T19:27:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/18.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-rc.0/manifests"},{"name":"18.1.4","sha":"bdf8450b7a5c7fd262b60180e75b4dcb7e098e53","kind":"commit","published_at":"2024-08-07T18:52:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.4","html_url":"https://github.com/angular/angular/releases/tag/18.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.4/manifests"},{"name":"18.2.0-next.4","sha":"4d0842d546b436f346ec64fe66ddc6c7af01d2aa","kind":"commit","published_at":"2024-08-05T17:34:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/18.2.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.4/manifests"},{"name":"zone.js-0.14.10","sha":"de99d3eb3e8ba08bc07022ed30755891b2ee81d5","kind":"commit","published_at":"2024-08-05T17:00:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.10","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.10/manifests"},{"name":"18.2.0-next.3","sha":"89f28b668cc177435cc9c97996315bf16a04b9c3","kind":"commit","published_at":"2024-07-31T17:24:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/18.2.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.3/manifests"},{"name":"18.1.3","sha":"be6c24611544058809108cc362ff0b2862f8432c","kind":"commit","published_at":"2024-07-31T17:17:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.3","html_url":"https://github.com/angular/angular/releases/tag/18.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.3/manifests"},{"name":"18.2.0-next.2","sha":"6609a94733d58939582d44dc97f31ef1f2a130f7","kind":"commit","published_at":"2024-07-24T18:34:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/18.2.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.2/manifests"},{"name":"18.1.2","sha":"58ee039d5ed1e172f279b035287cc954a880dee3","kind":"commit","published_at":"2024-07-24T17:53:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.2","html_url":"https://github.com/angular/angular/releases/tag/18.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.2/manifests"},{"name":"zone.js-0.14.8","sha":"d97aee6dc2266c81cbd5207f642f3fee39a2d414","kind":"commit","published_at":"2024-07-17T21:03:01.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.8","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.8/manifests"},{"name":"18.2.0-next.1","sha":"89550e734459829e93819ad5f07f387a24891c91","kind":"commit","published_at":"2024-07-17T20:34:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/18.2.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.1/manifests"},{"name":"18.1.1","sha":"4bfe707ac2ea6478b33b31defe8b12b1f03db5b1","kind":"commit","published_at":"2024-07-17T20:05:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.1","html_url":"https://github.com/angular/angular/releases/tag/18.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.1/manifests"},{"name":"17.3.12","sha":"4736c6d1333d36938b36961b62754a4ac15a558c","kind":"commit","published_at":"2024-07-17T19:06:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.12","html_url":"https://github.com/angular/angular/releases/tag/17.3.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.12/manifests"},{"name":"18.2.0-next.0","sha":"b6fb5b7fa9a3b2d3e9b3ca833f94525adc0c31b1","kind":"commit","published_at":"2024-07-10T13:41:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/18.2.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.2.0-next.0/manifests"},{"name":"18.1.0","sha":"07a0b87a4c1e032c92d5596ce7a17b74a87e04e3","kind":"commit","published_at":"2024-07-10T13:00:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.0","html_url":"https://github.com/angular/angular/releases/tag/18.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0/manifests"},{"name":"18.0.7","sha":"37dcc8d0eb2cecfe703ec7f2e7982b7d96126e8e","kind":"commit","published_at":"2024-07-10T12:50:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.7","html_url":"https://github.com/angular/angular/releases/tag/18.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.7/manifests"},{"name":"18.0.6","sha":"4ceb8530c5f77d540036ed2dcfc043722281c016","kind":"commit","published_at":"2024-07-03T19:36:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.6","html_url":"https://github.com/angular/angular/releases/tag/18.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.6/manifests"},{"name":"18.1.0-rc.0","sha":"7f5d70a74ad56280713438c8317ada5f70056a3b","kind":"commit","published_at":"2024-07-01T21:01:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/18.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-rc.0/manifests"},{"name":"18.0.5","sha":"a59496cbc9f0a6ae49e024d20d0172080b4f25e4","kind":"commit","published_at":"2024-06-27T00:13:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.5","html_url":"https://github.com/angular/angular/releases/tag/18.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.5/manifests"},{"name":"18.1.0-next.4","sha":"5dc0de14948cb30c068e5bca380f8b43dbc93243","kind":"commit","published_at":"2024-06-27T00:06:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/18.1.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.4/manifests"},{"name":"18.1.0-next.3","sha":"29ecb398952d6a47af09a1ee9e87dcece72844c9","kind":"commit","published_at":"2024-06-20T19:07:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/18.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.3/manifests"},{"name":"18.0.4","sha":"2e586203c4a0546151dad1fa7c33f35c5b5c0164","kind":"commit","published_at":"2024-06-20T19:00:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.4","html_url":"https://github.com/angular/angular/releases/tag/18.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.4/manifests"},{"name":"18.1.0-next.2","sha":"a114ebad7e8f2a3074ef13d0f010920f9da2bcf2","kind":"commit","published_at":"2024-06-12T23:26:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/18.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.2/manifests"},{"name":"18.0.3","sha":"be09f0b3cb398b709bfa7824116a678dfcac50e8","kind":"commit","published_at":"2024-06-12T23:17:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.3","html_url":"https://github.com/angular/angular/releases/tag/18.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.3/manifests"},{"name":"zone.js-0.14.7","sha":"181ed2a84a720b22e309ffb190fa627b8a13d783","kind":"commit","published_at":"2024-06-06T20:40:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.7","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.7/manifests"},{"name":"18.1.0-next.1","sha":"101edda0184b458d331163b7e04280c3b8b48bfc","kind":"commit","published_at":"2024-06-05T20:18:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/18.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.1/manifests"},{"name":"18.0.2","sha":"c71d687db4efff9a2bd05680726f0bab3183b85a","kind":"commit","published_at":"2024-06-05T19:56:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.2","html_url":"https://github.com/angular/angular/releases/tag/18.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.2/manifests"},{"name":"17.3.11","sha":"182138e74bd39c7b4fd152368fa6e3087b20cc86","kind":"commit","published_at":"2024-06-05T19:05:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.11","html_url":"https://github.com/angular/angular/releases/tag/17.3.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.11/manifests"},{"name":"18.1.0-next.0","sha":"8a3d010d4dcdc0bf6285e4e038eb74be0bb28ee6","kind":"commit","published_at":"2024-05-29T16:38:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/18.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.1.0-next.0/manifests"},{"name":"18.0.1","sha":"1726b0308d790f1ecf72a509e3696bd3119d8149","kind":"commit","published_at":"2024-05-29T16:05:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.1","html_url":"https://github.com/angular/angular/releases/tag/18.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.1/manifests"},{"name":"17.3.10","sha":"9774ebe1da4980591000f5dd266b32f55c908481","kind":"commit","published_at":"2024-05-22T18:15:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.10","html_url":"https://github.com/angular/angular/releases/tag/17.3.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.10/manifests"},{"name":"18.0.0","sha":"d6391eed234a751091c6f06f5ce4ab6f129ceef7","kind":"commit","published_at":"2024-05-22T17:54:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0","html_url":"https://github.com/angular/angular/releases/tag/18.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0/manifests"},{"name":"18.0.0-rc.3","sha":"ef961588995164f5b491a9722aa4ed41d1135435","kind":"commit","published_at":"2024-05-21T21:37:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-rc.3/manifests"},{"name":"zone.js-0.14.6","sha":"13601105ec06f114d3ee13d4bfd42ebf0793f135","kind":"commit","published_at":"2024-05-17T00:32:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.6","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.6/manifests"},{"name":"18.0.0-rc.2","sha":"e6d8f7459eed632aef1059c5afbb582a735b5f27","kind":"commit","published_at":"2024-05-15T22:50:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-rc.2/manifests"},{"name":"17.3.9","sha":"45badde88c145d554687884d909436aa5bd1147d","kind":"commit","published_at":"2024-05-15T20:43:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.9","html_url":"https://github.com/angular/angular/releases/tag/17.3.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.9/manifests"},{"name":"18.0.0-rc.1","sha":"a9dd754ad579a780b42123388ca79e2deb111b88","kind":"commit","published_at":"2024-05-08T16:03:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-rc.1/manifests"},{"name":"17.3.8","sha":"99bf2cd524f991668b41a9634a4d0aa2389e90d7","kind":"commit","published_at":"2024-05-08T15:46:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.8","html_url":"https://github.com/angular/angular/releases/tag/17.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.8/manifests"},{"name":"18.0.0-rc.0","sha":"92a1e59529f6746dc3822c31cade0380474f84bf","kind":"commit","published_at":"2024-05-01T18:47:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-rc.0/manifests"},{"name":"17.3.7","sha":"4c50e1e7cb76cff99548c2c773e989065e12e62d","kind":"commit","published_at":"2024-05-01T18:39:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.7","html_url":"https://github.com/angular/angular/releases/tag/17.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.7/manifests"},{"name":"zone.js-0.14.5","sha":"ff656691c347be9ee381be28027fd5d22d5ea626","kind":"commit","published_at":"2024-04-30T20:51:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.5","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.5/manifests"},{"name":"18.0.0-next.6","sha":"2a3db67cdf2855195b5e1c207f7d682182f9a415","kind":"commit","published_at":"2024-04-25T15:34:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.6/manifests"},{"name":"17.3.6","sha":"544aedee6f9f33323270b8fa97479a790895240e","kind":"commit","published_at":"2024-04-25T15:25:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.6","html_url":"https://github.com/angular/angular/releases/tag/17.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.6/manifests"},{"name":"18.0.0-next.5","sha":"011cc06411b6c9fc22e68c45f5572312b4dc02cd","kind":"commit","published_at":"2024-04-17T15:55:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.5/manifests"},{"name":"17.3.5","sha":"cc57d4c4998b4e38f940afdf358af37185028072","kind":"commit","published_at":"2024-04-17T15:43:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.5","html_url":"https://github.com/angular/angular/releases/tag/17.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.5/manifests"},{"name":"18.0.0-next.4","sha":"aae062e8dbd5b3d59d05d029477cbb487fe8dd71","kind":"commit","published_at":"2024-04-10T23:18:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.4/manifests"},{"name":"17.3.4","sha":"268a26f1b6055c7e0d66ee9366a8d2e3c3c83ea3","kind":"commit","published_at":"2024-04-10T22:13:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.4","html_url":"https://github.com/angular/angular/releases/tag/17.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.4/manifests"},{"name":"18.0.0-next.3","sha":"4e25e402f8aee2efdf34d24d2db472eb32088397","kind":"commit","published_at":"2024-04-03T22:28:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.3/manifests"},{"name":"17.3.3","sha":"16eba152c4dbbf0559cb1ac9f9409ae35e5dcc75","kind":"commit","published_at":"2024-04-03T20:39:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.3","html_url":"https://github.com/angular/angular/releases/tag/17.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.3/manifests"},{"name":"18.0.0-next.2","sha":"6d14fc52b9103b4fdbee8e4564c05fa599a90a1d","kind":"commit","published_at":"2024-03-28T17:05:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.2/manifests"},{"name":"17.3.2","sha":"67f0cf5fc8a2be4a48c6cd15db53ce9c9c4cd014","kind":"commit","published_at":"2024-03-28T16:56:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.2","html_url":"https://github.com/angular/angular/releases/tag/17.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.2/manifests"},{"name":"18.0.0-next.1","sha":"0461bff95f72107d55c8db7ae8a4154296565721","kind":"commit","published_at":"2024-03-20T22:01:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.1/manifests"},{"name":"17.3.1","sha":"c2149dfaa82aa0e1963d4a8b1f49063a9c4a9d69","kind":"commit","published_at":"2024-03-20T19:49:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.1","html_url":"https://github.com/angular/angular/releases/tag/17.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.1/manifests"},{"name":"18.0.0-next.0","sha":"77a397b382f21f3fba3012cc43ba098ef39f9ce3","kind":"commit","published_at":"2024-03-14T15:44:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/18.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/18.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/18.0.0-next.0/manifests"},{"name":"17.3.0","sha":"c22c5c454396c84d139fc1d49edff1fdea7141ce","kind":"commit","published_at":"2024-03-13T21:05:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.0","html_url":"https://github.com/angular/angular/releases/tag/17.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.0/manifests"},{"name":"17.3.0-rc.0","sha":"7bfa3610c569d22a2f889aa18cf0a782181e534d","kind":"commit","published_at":"2024-03-06T19:40:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/17.3.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.0-rc.0/manifests"},{"name":"17.2.4","sha":"50623ea1e162f9424024b0393326c1442f24c7e9","kind":"commit","published_at":"2024-03-06T19:28:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.2.4","html_url":"https://github.com/angular/angular/releases/tag/17.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.4/manifests"},{"name":"17.2.3","sha":"edc45d5b6fdcc9559ba00540476f8c247a3d7cb5","kind":"commit","published_at":"2024-02-28T00:23:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.2.3","html_url":"https://github.com/angular/angular/releases/tag/17.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.3/manifests"},{"name":"17.3.0-next.1","sha":"ccda258bc54e38a29d07ffb9e30af3a650e0328d","kind":"commit","published_at":"2024-02-28T00:12:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/17.3.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.0-next.1/manifests"},{"name":"17.3.0-next.0","sha":"8e65bdc84821b23ba5e15f056321f840d38ce789","kind":"commit","published_at":"2024-02-22T02:02:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.3.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/17.3.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.3.0-next.0/manifests"},{"name":"17.2.2","sha":"600a8cd59a47c58a9169bd717bd9f036a49bae84","kind":"commit","published_at":"2024-02-22T01:54:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.2.2","html_url":"https://github.com/angular/angular/releases/tag/17.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.2/manifests"},{"name":"17.2.1","sha":"3eda005680efeec37da310c0fee8dff90cae0740","kind":"commit","published_at":"2024-02-14T22:55:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.2.1","html_url":"https://github.com/angular/angular/releases/tag/17.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.1/manifests"},{"name":"17.2.0","sha":"0b95d141ab26171805582ea097543ee6f2de4017","kind":"commit","published_at":"2024-02-14T18:55:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.2.0","html_url":"https://github.com/angular/angular/releases/tag/17.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0/manifests"},{"name":"zone.js-0.14.4","sha":"5b767d6e018847e61f1f4a14448610305442044b","kind":"commit","published_at":"2024-02-13T19:42:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.4","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.4/manifests"},{"name":"17.2.0-rc.1","sha":"7aa92fa8fe0ae042bd45bcd56497cfe42574cba7","kind":"commit","published_at":"2024-02-09T10:54:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.2.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/17.2.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0-rc.1/manifests"},{"name":"17.2.0-rc.0","sha":"ed41bfcad7b88ef0a151d4b90bdc7c5c495ce7d1","kind":"commit","published_at":"2024-02-08T18:38:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/17.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0-rc.0/manifests"},{"name":"17.1.3","sha":"dd8490f384af55e11126fd98be4bf1ad91831057","kind":"commit","published_at":"2024-02-08T18:16:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.3","html_url":"https://github.com/angular/angular/releases/tag/17.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.3/manifests"},{"name":"17.2.0-next.1","sha":"2d20c4a25b606d31fd73e8fa26863797ddda7893","kind":"commit","published_at":"2024-01-31T19:29:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/17.2.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0-next.1/manifests"},{"name":"17.1.2","sha":"57cb448de5c3fee95c77c38930ce2ee9caac33ea","kind":"commit","published_at":"2024-01-31T19:04:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.2","html_url":"https://github.com/angular/angular/releases/tag/17.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.2/manifests"},{"name":"17.2.0-next.0","sha":"fad1354d50737b8cbbe534ee5866475da7250e70","kind":"commit","published_at":"2024-01-24T21:00:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/17.2.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.2.0-next.0/manifests"},{"name":"17.1.1","sha":"e2e0f08d99c06fe6e5d8758562e085a133854d0b","kind":"commit","published_at":"2024-01-24T18:31:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.1","html_url":"https://github.com/angular/angular/releases/tag/17.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.1/manifests"},{"name":"17.1.0","sha":"51d53fc728979aaa6cb8fd692f8e24f45a11633c","kind":"commit","published_at":"2024-01-17T22:45:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.0","html_url":"https://github.com/angular/angular/releases/tag/17.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0/manifests"},{"name":"17.1.0-rc.0","sha":"881376eb42c9f976624f2476afddbb763fbe899c","kind":"commit","published_at":"2024-01-10T22:25:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/17.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-rc.0/manifests"},{"name":"17.0.9","sha":"37e27694ffec4e22b697e6f689673480d7d933e8","kind":"commit","published_at":"2024-01-10T22:08:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.9","html_url":"https://github.com/angular/angular/releases/tag/17.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.9/manifests"},{"name":"zone.js-0.14.3","sha":"a468a5e9658096a25b6507b38bf91b9355472f38","kind":"commit","published_at":"2024-01-09T17:10:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.3","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.3/manifests"},{"name":"17.1.0-next.5","sha":"d315e2c4fa178dfbd41bc25259605bb999fa302e","kind":"commit","published_at":"2023-12-21T14:33:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/17.1.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.5/manifests"},{"name":"17.0.8","sha":"b87324d8f07714a1d24d0dc3e9bef5e676041db3","kind":"commit","published_at":"2023-12-21T14:25:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.8","html_url":"https://github.com/angular/angular/releases/tag/17.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.8/manifests"},{"name":"17.1.0-next.4","sha":"be7becae9aa52fc824a8fd16c3d725ab1bd96092","kind":"commit","published_at":"2023-12-14T01:13:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/17.1.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.4/manifests"},{"name":"17.0.7","sha":"203a3d59a0194fc839e00912ef46bc933d66d817","kind":"commit","published_at":"2023-12-14T00:35:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.7","html_url":"https://github.com/angular/angular/releases/tag/17.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.7/manifests"},{"name":"17.1.0-next.3","sha":"5f736089db634ec5abde7e9c35c731bf681d4aee","kind":"commit","published_at":"2023-12-06T18:22:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/17.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.3/manifests"},{"name":"17.0.6","sha":"049e4ab59687f5988c2b2091e067aacea46b6a42","kind":"commit","published_at":"2023-12-06T18:15:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.6","html_url":"https://github.com/angular/angular/releases/tag/17.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.6/manifests"},{"name":"17.1.0-next.2","sha":"38bf0a320b6a5c7f44d180818c85d35e18133126","kind":"commit","published_at":"2023-11-29T17:31:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/17.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.2/manifests"},{"name":"17.0.5","sha":"5f6323c36d2c1ed53c85ba20fe47da3b1174ac20","kind":"commit","published_at":"2023-11-29T17:18:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.5","html_url":"https://github.com/angular/angular/releases/tag/17.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.5/manifests"},{"name":"17.1.0-next.1","sha":"33959f4beabba4c9384d469f43ba621e5abc29b6","kind":"commit","published_at":"2023-11-20T19:56:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/17.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.1/manifests"},{"name":"17.0.4","sha":"710a24a7d058143e94cbc2db905523bfeb257397","kind":"commit","published_at":"2023-11-20T19:43:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.4","html_url":"https://github.com/angular/angular/releases/tag/17.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.4/manifests"},{"name":"17.1.0-next.0","sha":"93c0dd86758db6c198143a8b10c827209785776c","kind":"commit","published_at":"2023-11-15T20:31:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/17.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.1.0-next.0/manifests"},{"name":"17.0.3","sha":"f5307bf119b08c8a1f8b2c9a6e5cc08880acdb23","kind":"commit","published_at":"2023-11-15T20:23:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.3","html_url":"https://github.com/angular/angular/releases/tag/17.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.3/manifests"},{"name":"17.0.2","sha":"01efb1b8073ff4a2313f5718bbbc45ecedc2510f","kind":"commit","published_at":"2023-11-09T20:08:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.2","html_url":"https://github.com/angular/angular/releases/tag/17.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.2/manifests"},{"name":"17.0.1","sha":"4626691198cf3455f647961d16355b9297c41a35","kind":"commit","published_at":"2023-11-08T19:24:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.1","html_url":"https://github.com/angular/angular/releases/tag/17.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.1/manifests"},{"name":"17.0.0","sha":"fecd141dfa541eb3e1c62767820474265e9a2443","kind":"commit","published_at":"2023-11-08T12:23:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0","html_url":"https://github.com/angular/angular/releases/tag/17.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0/manifests"},{"name":"17.0.0-rc.3","sha":"6b83328577867783b242abf07b4edd5eb57ea58f","kind":"commit","published_at":"2023-11-07T00:07:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-rc.3/manifests"},{"name":"zone.js-0.14.2","sha":"1a33a2ca1153c4d11e3f7a5767db55a864878013","kind":"commit","published_at":"2023-11-03T17:54:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.2","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.2/manifests"},{"name":"17.0.0-rc.2","sha":"a8e57a1fabdd4773477bbc9ca5e6ebcd34140624","kind":"commit","published_at":"2023-11-02T22:03:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-rc.2/manifests"},{"name":"16.2.12","sha":"ace0a683f60eba3d30d11f241c59e37386b2b805","kind":"commit","published_at":"2023-11-02T21:41:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.12","html_url":"https://github.com/angular/angular/releases/tag/16.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.12/manifests"},{"name":"zone.js-0.14.1","sha":"8599e1892ec99806a960a077971d52259b45839d","kind":"commit","published_at":"2023-10-26T16:28:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.1","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.1/manifests"},{"name":"17.0.0-rc.1","sha":"2b0698def0197060ac13c67215fbe4bfea259b44","kind":"commit","published_at":"2023-10-25T21:35:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-rc.1/manifests"},{"name":"16.2.11","sha":"ee5b1cf076cb977b86bbe265e5243f145f4d1e4a","kind":"commit","published_at":"2023-10-25T21:26:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.11","html_url":"https://github.com/angular/angular/releases/tag/16.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.11/manifests"},{"name":"17.0.0-rc.0","sha":"edd060efbf408072ffa094840175e548a8bd2389","kind":"commit","published_at":"2023-10-18T16:59:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-rc.0/manifests"},{"name":"16.2.10","sha":"bf70bf6d4fed0200458d03f011e586cd3c17b59f","kind":"commit","published_at":"2023-10-18T16:46:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.10","html_url":"https://github.com/angular/angular/releases/tag/16.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.10/manifests"},{"name":"17.0.0-next.8","sha":"926db6dd365824933cdcc96da7f1077eb413419f","kind":"commit","published_at":"2023-10-11T17:12:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-next.8","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-next.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.8/manifests"},{"name":"16.2.9","sha":"fb10abcf3ed66866c05d1de3303480f345c974b7","kind":"commit","published_at":"2023-10-11T16:56:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.9","html_url":"https://github.com/angular/angular/releases/tag/16.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.9/manifests"},{"name":"17.0.0-next.7","sha":"fe81ff8cd6948bea5a6212721ea920a8572248e1","kind":"commit","published_at":"2023-10-04T21:31:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.7/manifests"},{"name":"16.2.8","sha":"481198af9253e478f771c1bc56f5d23dbde90b89","kind":"commit","published_at":"2023-10-04T20:55:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.8","html_url":"https://github.com/angular/angular/releases/tag/16.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.8/manifests"},{"name":"15.2.10","sha":"035aee01089b9f9d4b5b6af66a74002e07723fba","kind":"commit","published_at":"2023-10-04T20:18:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.10","html_url":"https://github.com/angular/angular/releases/tag/15.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.10/manifests"},{"name":"17.0.0-next.6","sha":"e1728a2a392aa7fa237a50561469f99eb201a24c","kind":"commit","published_at":"2023-09-27T21:00:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.6/manifests"},{"name":"16.2.7","sha":"a16e3b8fe1f77b163b0763c263d98f275a6c038c","kind":"commit","published_at":"2023-09-27T20:28:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.7","html_url":"https://github.com/angular/angular/releases/tag/16.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.7/manifests"},{"name":"17.0.0-next.5","sha":"0a4f18a419ba68a7c8a2d22da85a7f88bd217840","kind":"commit","published_at":"2023-09-20T18:04:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.5/manifests"},{"name":"16.2.6","sha":"6e6452d604aaecbb292bcbb25242b2ab5edd4a26","kind":"commit","published_at":"2023-09-20T17:51:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.6","html_url":"https://github.com/angular/angular/releases/tag/16.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.6/manifests"},{"name":"zone.js-0.14.0","sha":"9bd1551c3f44953df07ce8ca6b587ad225d019d0","kind":"commit","published_at":"2023-09-18T09:56:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.14.0","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.14.0/manifests"},{"name":"17.0.0-next.4","sha":"5a0d6aac74b2ba7b49702cc5b8734503abbb02eb","kind":"commit","published_at":"2023-09-13T17:44:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.4/manifests"},{"name":"16.2.5","sha":"cc57b24881e8ee4a0f19b62e7423e22fbe3f122f","kind":"commit","published_at":"2023-09-13T17:33:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.5","html_url":"https://github.com/angular/angular/releases/tag/16.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.5/manifests"},{"name":"zone.js-0.13.3","sha":"caaabd8efeb743f431ac56b51d217f79a3e40df8","kind":"commit","published_at":"2023-09-12T18:16:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.13.3","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.13.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.13.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.13.3/manifests"},{"name":"zone.js-0.13.2","sha":"ac56efa41063c8251868c1f1362ebe6af58c8955","kind":"commit","published_at":"2023-09-11T16:22:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.13.2","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.13.2/manifests"},{"name":"17.0.0-next.3","sha":"8cd9663a9255e4f8dbddb0a888ea21da82082358","kind":"commit","published_at":"2023-09-06T18:25:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.3/manifests"},{"name":"16.2.4","sha":"7ce89a2e94c8bc72ba5bb145cf9f16a752c61a9a","kind":"commit","published_at":"2023-09-06T17:57:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.4","html_url":"https://github.com/angular/angular/releases/tag/16.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.4/manifests"},{"name":"17.0.0-next.2","sha":"bd8c08a2843819541be44d5bc17f82dc3a2ee945","kind":"commit","published_at":"2023-08-30T18:27:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.2/manifests"},{"name":"16.2.3","sha":"587093c3a55019bbffa11eecfa0f0371d7105057","kind":"commit","published_at":"2023-08-30T17:59:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.3","html_url":"https://github.com/angular/angular/releases/tag/16.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.3/manifests"},{"name":"17.0.0-next.1","sha":"1a8aa9ddfa899ef95a8b3445b76d27406c7f26e7","kind":"commit","published_at":"2023-08-23T17:43:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.1/manifests"},{"name":"16.2.2","sha":"03fc92d44825987ccda1422e0235fdd7176d16ea","kind":"commit","published_at":"2023-08-23T17:35:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.2","html_url":"https://github.com/angular/angular/releases/tag/16.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.2/manifests"},{"name":"17.0.0-next.0","sha":"77504f18afd4ff0bacf35599ab4f85892cc92048","kind":"commit","published_at":"2023-08-16T17:33:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/17.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/17.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/17.0.0-next.0/manifests"},{"name":"16.2.1","sha":"4b46819ed10cd2b924d126701c5d4b1c63bc62c5","kind":"commit","published_at":"2023-08-16T17:19:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.1","html_url":"https://github.com/angular/angular/releases/tag/16.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.1/manifests"},{"name":"16.2.0","sha":"096fdd0f59541afab5d66518ce605734efa71d82","kind":"commit","published_at":"2023-08-09T21:03:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.0","html_url":"https://github.com/angular/angular/releases/tag/16.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0/manifests"},{"name":"16.1.9","sha":"e424e9a4a6dbe2abf0b4a7e26c8bf34362798854","kind":"commit","published_at":"2023-08-09T20:50:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.9","html_url":"https://github.com/angular/angular/releases/tag/16.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.9/manifests"},{"name":"16.2.0-rc.0","sha":"1472515d683b25bc095fc8d5e7edffb634d65d12","kind":"commit","published_at":"2023-08-02T20:20:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/16.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-rc.0/manifests"},{"name":"16.1.8","sha":"938d7a65f65e77b65c0d40919de97547f0305b3a","kind":"commit","published_at":"2023-08-02T19:43:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.8","html_url":"https://github.com/angular/angular/releases/tag/16.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.8/manifests"},{"name":"16.2.0-next.4","sha":"d9a4ca642d9c8cce346a2dcfdafaf733951cc058","kind":"commit","published_at":"2023-07-26T16:11:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/16.2.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.4/manifests"},{"name":"16.1.7","sha":"07969d1dc7c9668844e567b882accf84be970746","kind":"commit","published_at":"2023-07-26T16:02:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.7","html_url":"https://github.com/angular/angular/releases/tag/16.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.7/manifests"},{"name":"16.2.0-next.3","sha":"05657cfde4514671570a674a4be83989729e2740","kind":"commit","published_at":"2023-07-19T19:32:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/16.2.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.3/manifests"},{"name":"16.1.6","sha":"46afa8a91f719cf1ab706fad9d4b8e8b67aa15fe","kind":"commit","published_at":"2023-07-19T19:12:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.6","html_url":"https://github.com/angular/angular/releases/tag/16.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.6/manifests"},{"name":"16.2.0-next.2","sha":"55d412c5b1b0ba9b03174f7ad9907961fcafa970","kind":"commit","published_at":"2023-07-13T18:01:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/16.2.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.2/manifests"},{"name":"16.1.5","sha":"e41245b34469d5a5353fcb257cb034433058b8d4","kind":"commit","published_at":"2023-07-13T17:54:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.5","html_url":"https://github.com/angular/angular/releases/tag/16.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.5/manifests"},{"name":"16.1.4","sha":"1bf99e2f9265ce5c289763c5150c3ba4264fd7aa","kind":"commit","published_at":"2023-07-06T23:48:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.4","html_url":"https://github.com/angular/angular/releases/tag/16.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.4/manifests"},{"name":"16.2.0-next.1","sha":"fc9da5ed8c03e0d063676ce47be67348f2094137","kind":"commit","published_at":"2023-06-28T15:11:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/16.2.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.1/manifests"},{"name":"16.1.3","sha":"d9d70f0a6fcded2a6b8a2fcad152a201152749df","kind":"commit","published_at":"2023-06-28T15:04:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.3","html_url":"https://github.com/angular/angular/releases/tag/16.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.3/manifests"},{"name":"16.2.0-next.0","sha":"5c3407507a24036f102bf00e2b02b4e33c6419db","kind":"commit","published_at":"2023-06-21T18:35:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/16.2.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.2.0-next.0/manifests"},{"name":"16.1.2","sha":"00f293c35f74a71d08e8f66efa50fe7194377355","kind":"commit","published_at":"2023-06-21T18:25:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.2","html_url":"https://github.com/angular/angular/releases/tag/16.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.2/manifests"},{"name":"16.1.1","sha":"e5c22719720dc082d8191e7a7d1625e40a7d5f62","kind":"commit","published_at":"2023-06-14T16:41:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.1","html_url":"https://github.com/angular/angular/releases/tag/16.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.1/manifests"},{"name":"16.1.0","sha":"f48c0bc4e3dd51096f6af72ec9a979ff589f3608","kind":"commit","published_at":"2023-06-13T15:08:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.0","html_url":"https://github.com/angular/angular/releases/tag/16.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0/manifests"},{"name":"16.0.6","sha":"f1e350cb5958a1fc19bb1a9527fd2dffcc87072e","kind":"commit","published_at":"2023-06-13T14:57:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.6","html_url":"https://github.com/angular/angular/releases/tag/16.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.6/manifests"},{"name":"zone.js-0.13.1","sha":"d773589ed22d5e05d809f4d6f55697c6cfe15fe1","kind":"commit","published_at":"2023-06-12T15:50:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.13.1","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.13.1/manifests"},{"name":"16.0.5","sha":"992ce2d47a0bb1e32246dc409990552e6aa42af1","kind":"commit","published_at":"2023-06-08T21:17:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.5","html_url":"https://github.com/angular/angular/releases/tag/16.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.5/manifests"},{"name":"16.1.0-rc.0","sha":"a66608a13c4e5954a7c2e93444cb2c7d5eed7c3e","kind":"commit","published_at":"2023-06-08T20:41:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/16.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-rc.0/manifests"},{"name":"16.1.0-next.3","sha":"84b6ef02623f4db165dbd2f0dfa5c4fa7d5a3886","kind":"commit","published_at":"2023-06-01T15:40:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/16.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-next.3/manifests"},{"name":"16.0.4","sha":"bb05225dcd973647d41ad83790bd350ad53d3ca2","kind":"commit","published_at":"2023-06-01T15:30:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.4","html_url":"https://github.com/angular/angular/releases/tag/16.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.4/manifests"},{"name":"16.1.0-next.2","sha":"06b498f67f2ad16bb465ef378bdb16da84e41a1c","kind":"commit","published_at":"2023-05-24T18:03:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/16.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-next.2/manifests"},{"name":"16.0.3","sha":"c0a8c8fb4b2410f76c0a4b625b35e52cb2189248","kind":"commit","published_at":"2023-05-24T17:43:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.3","html_url":"https://github.com/angular/angular/releases/tag/16.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.3/manifests"},{"name":"16.1.0-next.1","sha":"70099a393c80a20d937ccc09a0d205eafbf24c6b","kind":"commit","published_at":"2023-05-17T18:39:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/16.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-next.1/manifests"},{"name":"16.0.2","sha":"c92220a5f94043782d6b0eb7e86866192aaab7e3","kind":"commit","published_at":"2023-05-17T18:32:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.2","html_url":"https://github.com/angular/angular/releases/tag/16.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.2/manifests"},{"name":"16.1.0-next.0","sha":"ea3b5f1cde4ac30551898ada7b68d586be9f93ed","kind":"commit","published_at":"2023-05-10T18:22:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/16.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.1.0-next.0/manifests"},{"name":"16.0.1","sha":"b9aeb858d528c8c229be13a754cc36084bffcbdf","kind":"commit","published_at":"2023-05-10T18:14:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.1","html_url":"https://github.com/angular/angular/releases/tag/16.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.1/manifests"},{"name":"16.0.0","sha":"03c9bf2353148a8f5cb57a9beb21b4ea54f11038","kind":"commit","published_at":"2023-05-03T16:46:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0","html_url":"https://github.com/angular/angular/releases/tag/16.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0/manifests"},{"name":"15.2.9","sha":"2d68de5bb118ff27f47aa2abedea112b2f0a3495","kind":"commit","published_at":"2023-05-03T16:12:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.9","html_url":"https://github.com/angular/angular/releases/tag/15.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.9/manifests"},{"name":"16.0.0-rc.4","sha":"6928618fd75a7b34a5fa5e43a42d21c8a96e9903","kind":"commit","published_at":"2023-05-01T17:31:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-rc.4","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.4/manifests"},{"name":"16.0.0-rc.3","sha":"3feb9aea2e86b2c88a07d0eead392e92f958beba","kind":"commit","published_at":"2023-04-27T07:27:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.3/manifests"},{"name":"16.0.0-rc.2","sha":"2f4b61e1648e186ea214d231bd990a789ac4c214","kind":"commit","published_at":"2023-04-19T19:37:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.2/manifests"},{"name":"15.2.8","sha":"35690fdf6d4f41db88645fab0fe2dfd9c6ae98a6","kind":"commit","published_at":"2023-04-19T19:13:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.8","html_url":"https://github.com/angular/angular/releases/tag/15.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.8/manifests"},{"name":"16.0.0-rc.1","sha":"a19cc43f1dfe7843155c846ff3a17a66ae61c366","kind":"commit","published_at":"2023-04-14T14:07:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.1/manifests"},{"name":"16.0.0-rc.0","sha":"61f63cf6fd1779d08137d01074a56a723d4a511d","kind":"commit","published_at":"2023-04-12T19:16:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-rc.0/manifests"},{"name":"15.2.7","sha":"1d761bd7c74ac2b7dfe5f7dba0ff16fd6170afe2","kind":"commit","published_at":"2023-04-12T19:06:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.7","html_url":"https://github.com/angular/angular/releases/tag/15.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.7/manifests"},{"name":"13.4.0","sha":"8eaf6094c0da2d27808a1a3bffd2af5e9895fdb1","kind":"commit","published_at":"2023-04-06T17:40:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.4.0","html_url":"https://github.com/angular/angular/releases/tag/13.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.4.0/manifests"},{"name":"16.0.0-next.7","sha":"f14875114b22d18d46ba40bbc064701c06e6e0b7","kind":"commit","published_at":"2023-04-06T02:57:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.7/manifests"},{"name":"15.2.6","sha":"9a37a7786a5ff5b77a35230efce54eec3ca87537","kind":"commit","published_at":"2023-04-06T02:44:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.6","html_url":"https://github.com/angular/angular/releases/tag/15.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.6/manifests"},{"name":"16.0.0-next.6","sha":"de6dc5f248aa20a2f8e212ef71c59c711ca51cab","kind":"commit","published_at":"2023-04-03T20:37:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.6/manifests"},{"name":"16.0.0-next.5","sha":"f2ba19253d09786982ecfc913c11a5ed0806555f","kind":"commit","published_at":"2023-03-29T22:41:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.5/manifests"},{"name":"15.2.5","sha":"e78a2a4a47be4dfb3934e51611ad20613836b9c8","kind":"commit","published_at":"2023-03-29T19:37:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.5","html_url":"https://github.com/angular/angular/releases/tag/15.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.5/manifests"},{"name":"16.0.0-next.4","sha":"0dd5c4781119489758c6634102d73c268a38681e","kind":"commit","published_at":"2023-03-22T20:28:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.4/manifests"},{"name":"15.2.4","sha":"901353ec7ab24eca5067d1a9f10d77cda5693d63","kind":"commit","published_at":"2023-03-22T20:15:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.4","html_url":"https://github.com/angular/angular/releases/tag/15.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.4/manifests"},{"name":"16.0.0-next.3","sha":"e05f5bafab5046721cd77e3a5ec20f6d8a779fde","kind":"commit","published_at":"2023-03-16T19:17:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.3/manifests"},{"name":"15.2.3","sha":"3d71d9ddd9ffa138af4e5f4230132b7632070ba3","kind":"commit","published_at":"2023-03-16T19:08:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.3","html_url":"https://github.com/angular/angular/releases/tag/15.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.3/manifests"},{"name":"14.3.0","sha":"35a3fde5b71ef3b50282fe6f7b37ca1c92b8d2a0","kind":"commit","published_at":"2023-03-13T09:56:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.3.0","html_url":"https://github.com/angular/angular/releases/tag/14.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.3.0/manifests"},{"name":"16.0.0-next.2","sha":"c2edcce4369e3573d9863ae93ed737bf9f179845","kind":"commit","published_at":"2023-03-08T18:56:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.2/manifests"},{"name":"15.2.2","sha":"75d5bfda1ea5396fa5210e978af1217405e4a041","kind":"commit","published_at":"2023-03-08T18:43:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.2","html_url":"https://github.com/angular/angular/releases/tag/15.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.2/manifests"},{"name":"zone.js-0.13.0","sha":"fc5100986bb719cc4b41ae3d72b280ba83589f2f","kind":"commit","published_at":"2023-03-06T19:14:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.13.0","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.13.0/manifests"},{"name":"16.0.0-next.1","sha":"3673ea062173a5f7353073e530878ea7e25bb539","kind":"commit","published_at":"2023-03-01T19:06:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.1/manifests"},{"name":"15.2.1","sha":"174997150f814f2a9addd41e64b78b2f27e7b26a","kind":"commit","published_at":"2023-03-01T18:53:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.1","html_url":"https://github.com/angular/angular/releases/tag/15.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.1/manifests"},{"name":"16.0.0-next.0","sha":"3d589d8bdeb81e953d1c3b6516cebcf07c214f52","kind":"commit","published_at":"2023-02-22T21:40:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/16.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/16.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/16.0.0-next.0/manifests"},{"name":"15.2.0","sha":"7677963bd9bfe56650cf86b3cbf6a2a35153d670","kind":"commit","published_at":"2023-02-22T21:04:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.0","html_url":"https://github.com/angular/angular/releases/tag/15.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0/manifests"},{"name":"15.2.0-rc.0","sha":"440b51b7afec991c7d6b8d4cc2c301bbbb5fb2b5","kind":"commit","published_at":"2023-02-15T17:45:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/15.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-rc.0/manifests"},{"name":"15.1.5","sha":"d69ef721d43ec62ea901cfb90d9c4e5252066f72","kind":"commit","published_at":"2023-02-15T17:34:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.5","html_url":"https://github.com/angular/angular/releases/tag/15.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.5/manifests"},{"name":"15.2.0-next.4","sha":"642cc1c349d31d2e4b89a8c8ee5f090a2ac599c3","kind":"commit","published_at":"2023-02-08T18:26:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/15.2.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.4/manifests"},{"name":"15.1.4","sha":"38257a304d6019a6bc1728b0056372bf4e14be5b","kind":"commit","published_at":"2023-02-08T18:15:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.4","html_url":"https://github.com/angular/angular/releases/tag/15.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.4/manifests"},{"name":"15.1.3","sha":"dee68174072415751242665aeef08d024f24b122","kind":"commit","published_at":"2023-02-02T21:35:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.3","html_url":"https://github.com/angular/angular/releases/tag/15.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.3/manifests"},{"name":"15.2.0-next.3","sha":"3cce18e43436e12f88a37c28df3b692e1abb1266","kind":"commit","published_at":"2023-02-02T21:24:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/15.2.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.3/manifests"},{"name":"15.2.0-next.2","sha":"c91606b67ef43a1f27976cb8cea0819d03f21df6","kind":"commit","published_at":"2023-01-25T17:09:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/15.2.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.2/manifests"},{"name":"15.1.2","sha":"086147111233ef92eebcb3cfee0db92a8e55dfa8","kind":"commit","published_at":"2023-01-25T16:51:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.2","html_url":"https://github.com/angular/angular/releases/tag/15.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.2/manifests"},{"name":"15.2.0-next.1","sha":"8377acd94fd68d8d874710f3439771b55442c9b4","kind":"commit","published_at":"2023-01-18T18:26:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/15.2.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.1/manifests"},{"name":"15.1.1","sha":"e3a8a5cc4237d8c87ebde167c9ac9f2b0102f420","kind":"commit","published_at":"2023-01-18T18:11:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.1","html_url":"https://github.com/angular/angular/releases/tag/15.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.1/manifests"},{"name":"15.2.0-next.0","sha":"fbcddb092f722f33ca12ab074fd886f6240f18c0","kind":"commit","published_at":"2023-01-11T16:05:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/15.2.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.2.0-next.0/manifests"},{"name":"15.1.0","sha":"99723fc64ed6ded3635ae5e19648550dc42f1bc1","kind":"commit","published_at":"2023-01-10T18:49:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.0","html_url":"https://github.com/angular/angular/releases/tag/15.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0/manifests"},{"name":"15.1.0-rc.0","sha":"28ea114d543bd22c9bd687518d94523670a5ac12","kind":"commit","published_at":"2023-01-05T21:18:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/15.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-rc.0/manifests"},{"name":"15.1.0-next.3","sha":"eb52d9eabd13100ef5dc10f1934d2b8455fa1cdc","kind":"commit","published_at":"2022-12-14T19:58:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/15.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-next.3/manifests"},{"name":"15.0.4","sha":"470738c8f775145630a07be783e50dac5d2194e5","kind":"commit","published_at":"2022-12-14T19:11:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.4","html_url":"https://github.com/angular/angular/releases/tag/15.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.4/manifests"},{"name":"15.1.0-next.2","sha":"9226dd20e9eb0f0c402be3ccf8d1f32a7fa83427","kind":"commit","published_at":"2022-12-07T22:04:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/15.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-next.2/manifests"},{"name":"15.0.3","sha":"5d5b51599d8b2796b2403161f2c0e46ce7bdf58e","kind":"commit","published_at":"2022-12-07T21:54:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.3","html_url":"https://github.com/angular/angular/releases/tag/15.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.3/manifests"},{"name":"15.1.0-next.1","sha":"4d398a0babbbf354a6ebdc64735ba70b953b3e3a","kind":"commit","published_at":"2022-11-30T20:37:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/15.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-next.1/manifests"},{"name":"15.0.2","sha":"73ec0c61fad8df07fbce3109fcfec46e7304205d","kind":"commit","published_at":"2022-11-30T20:20:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.2","html_url":"https://github.com/angular/angular/releases/tag/15.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.2/manifests"},{"name":"15.0.1","sha":"40c138c13d17b638908999faafc9eb4cca0202fb","kind":"commit","published_at":"2022-11-23T03:04:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.1","html_url":"https://github.com/angular/angular/releases/tag/15.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.1/manifests"},{"name":"15.1.0-next.0","sha":"cadc011f63e4b0cb415d6d64cab16e8680e4da6b","kind":"commit","published_at":"2022-11-23T02:56:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/15.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.1.0-next.0/manifests"},{"name":"12.2.17","sha":"35f4799ebdf09817410bbab2c20e50bf8524bf3e","kind":"commit","published_at":"2022-11-22T17:24:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.17","html_url":"https://github.com/angular/angular/releases/tag/12.2.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.17/manifests"},{"name":"13.3.12","sha":"ec58266eabf93d23e58b58615cd8d1cf5e449f99","kind":"commit","published_at":"2022-11-21T21:13:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.12","html_url":"https://github.com/angular/angular/releases/tag/13.3.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.12/manifests"},{"name":"14.2.12","sha":"61e69c87e6b577f1c5a71fb5c39c3bd6125c4b91","kind":"commit","published_at":"2022-11-21T20:50:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.12","html_url":"https://github.com/angular/angular/releases/tag/14.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.12/manifests"},{"name":"15.0.0","sha":"b79ad226b2c6fc2dfaafe992facd7172fa0944c3","kind":"commit","published_at":"2022-11-16T17:43:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0","html_url":"https://github.com/angular/angular/releases/tag/15.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0/manifests"},{"name":"14.2.11","sha":"0cd056abe73b676bdca6fd34c004e6b7cbcabac3","kind":"commit","published_at":"2022-11-16T17:17:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.11","html_url":"https://github.com/angular/angular/releases/tag/14.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.11/manifests"},{"name":"15.0.0-rc.4","sha":"4cfb06086b70234c8da9720c3b71868fe4548dc8","kind":"commit","published_at":"2022-11-14T20:05:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-rc.4","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.4/manifests"},{"name":"15.0.0-rc.3","sha":"6a9b1e11c2f2b3924f088aca2a941b17aca3f335","kind":"commit","published_at":"2022-11-09T21:40:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.3/manifests"},{"name":"14.2.10","sha":"b358b61304b4c7b455f68436787ceec062c6c2f2","kind":"commit","published_at":"2022-11-09T19:44:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.10","html_url":"https://github.com/angular/angular/releases/tag/14.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.10/manifests"},{"name":"15.0.0-rc.2","sha":"8a19bc63ea11d50bdb30e511080f24ec84b15a48","kind":"commit","published_at":"2022-11-04T00:32:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.2/manifests"},{"name":"14.2.9","sha":"bab5f9a18f619b9c9f67c71113cdd13d5ff792ef","kind":"commit","published_at":"2022-11-03T23:44:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.9","html_url":"https://github.com/angular/angular/releases/tag/14.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.9/manifests"},{"name":"zone.js-0.12.0","sha":"24c93bbd87b39d66b70efd41b12209ff022c6b9a","kind":"commit","published_at":"2022-10-28T09:36:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.12.0","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.12.0/manifests"},{"name":"15.0.0-rc.1","sha":"f24da6baad520f6703bd800927e1438f562fc622","kind":"commit","published_at":"2022-10-26T18:34:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.1/manifests"},{"name":"14.2.8","sha":"87074753410dfe7018afacf7bf346547278f3410","kind":"commit","published_at":"2022-10-26T18:22:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.8","html_url":"https://github.com/angular/angular/releases/tag/14.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.8/manifests"},{"name":"15.0.0-rc.0","sha":"44c1770fc9f185079ba7bceb3a83d42c131b7207","kind":"commit","published_at":"2022-10-19T21:53:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-rc.0/manifests"},{"name":"14.2.7","sha":"4d18ba1af78dae2ba14f45ed092a4c55335edd9c","kind":"commit","published_at":"2022-10-19T21:23:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.7","html_url":"https://github.com/angular/angular/releases/tag/14.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.7/manifests"},{"name":"15.0.0-next.6","sha":"93cc5b221007165951b53d6ffbc1a49b20f38003","kind":"commit","published_at":"2022-10-12T18:38:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.6/manifests"},{"name":"14.2.6","sha":"0fdd6f972650ed98869b0a73f1fc1a7262b299b8","kind":"commit","published_at":"2022-10-12T17:51:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.6","html_url":"https://github.com/angular/angular/releases/tag/14.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.6/manifests"},{"name":"15.0.0-next.5","sha":"2cdf1286e3b8dbcee11ac6420d5a6b22949783f9","kind":"commit","published_at":"2022-10-05T15:50:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.5/manifests"},{"name":"14.2.5","sha":"dacdd27866fa82ef3bb0243703ca7da3153f85dd","kind":"commit","published_at":"2022-10-05T15:41:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.5","html_url":"https://github.com/angular/angular/releases/tag/14.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.5/manifests"},{"name":"15.0.0-next.4","sha":"bcc4a95c444b555272f89fda7bd04238414b11d5","kind":"commit","published_at":"2022-09-28T21:23:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.4/manifests"},{"name":"14.2.4","sha":"c8d891ec30234d7d89c5fd875f581d60db328eac","kind":"commit","published_at":"2022-09-28T21:16:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.4","html_url":"https://github.com/angular/angular/releases/tag/14.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.4/manifests"},{"name":"15.0.0-next.3","sha":"7a5ba93ce2eda2b6737963e4a4e7bc60d945598a","kind":"commit","published_at":"2022-09-21T18:16:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.3/manifests"},{"name":"14.2.3","sha":"7e6fc10a0dd36616226d480fe12eff99f01d9031","kind":"commit","published_at":"2022-09-21T18:06:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.3","html_url":"https://github.com/angular/angular/releases/tag/14.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.3/manifests"},{"name":"15.0.0-next.2","sha":"50392759100caf907c0c24ea529ae8f4a9f2c31e","kind":"commit","published_at":"2022-09-15T02:58:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.2/manifests"},{"name":"14.2.2","sha":"cc2d32adb91ebc133b315af86c9e8099bbecbcaf","kind":"commit","published_at":"2022-09-15T02:47:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.2","html_url":"https://github.com/angular/angular/releases/tag/14.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.2/manifests"},{"name":"15.0.0-next.1","sha":"e25349cd410d93ed58faa9860bac1916917055fe","kind":"commit","published_at":"2022-09-07T17:43:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.1/manifests"},{"name":"14.2.1","sha":"4002f0121e3c9e15e80195a2cf720f07b266989a","kind":"commit","published_at":"2022-09-07T17:34:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.1","html_url":"https://github.com/angular/angular/releases/tag/14.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.1/manifests"},{"name":"15.0.0-next.0","sha":"46f50213816eb263af7d2f404b07970094cb105b","kind":"commit","published_at":"2022-08-26T00:41:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/15.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/15.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/15.0.0-next.0/manifests"},{"name":"14.2.0","sha":"e9b3d2072bdabf51709e50ea71d33b9370ccff1d","kind":"commit","published_at":"2022-08-25T21:30:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.0","html_url":"https://github.com/angular/angular/releases/tag/14.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.0/manifests"},{"name":"14.2.0-rc.0","sha":"c83e861a3f5137bfeba603ae16c3bbfdef69935d","kind":"commit","published_at":"2022-08-17T15:11:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/14.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.0-rc.0/manifests"},{"name":"14.1.3","sha":"dacac7eb62c72e43106fc75af25f314f95c8e300","kind":"commit","published_at":"2022-08-17T14:55:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.3","html_url":"https://github.com/angular/angular/releases/tag/14.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.3/manifests"},{"name":"14.1.2","sha":"b31f5dd2f0b22a88a07ce19b8fa88c31b6caa285","kind":"commit","published_at":"2022-08-10T18:07:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.2","html_url":"https://github.com/angular/angular/releases/tag/14.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.2/manifests"},{"name":"14.2.0-next.1","sha":"4f7aceacda243051b2dedb638a2c1eca740c97a4","kind":"commit","published_at":"2022-08-10T17:55:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/14.2.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.0-next.1/manifests"},{"name":"zone.js-0.11.8","sha":"58e604ceea0e28f6ba3047de7b40d82853dfce12","kind":"commit","published_at":"2022-08-09T17:00:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.11.8","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.11.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.8/manifests"},{"name":"14.2.0-next.0","sha":"6fabc0c6795e8a74443ee101a40f9c5c841e1780","kind":"commit","published_at":"2022-08-03T17:57:01.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/14.2.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.2.0-next.0/manifests"},{"name":"14.1.1","sha":"b868f1c94ea779691ae5c1232141de79b806045f","kind":"commit","published_at":"2022-08-03T17:48:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.1","html_url":"https://github.com/angular/angular/releases/tag/14.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.1/manifests"},{"name":"zone.js-0.11.7","sha":"24f63fa4e3532167fc9baa6cf6d084203c7e051b","kind":"commit","published_at":"2022-07-21T10:25:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.11.7","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.11.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.7/manifests"},{"name":"14.1.0","sha":"793326deeffa6bcd588b1b6317aebc5fc609e82c","kind":"commit","published_at":"2022-07-20T17:44:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.0","html_url":"https://github.com/angular/angular/releases/tag/14.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0/manifests"},{"name":"14.0.7","sha":"a72ff8b055dbaef6134e28073eb0cd16034354d8","kind":"commit","published_at":"2022-07-20T17:37:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.7","html_url":"https://github.com/angular/angular/releases/tag/14.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.7/manifests"},{"name":"14.1.0-rc.0","sha":"442b16c551ff0fce69d3ae710f348d657b2f218d","kind":"commit","published_at":"2022-07-13T19:37:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/14.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-rc.0/manifests"},{"name":"14.0.6","sha":"79aa8be54d05e2246006c8cee675d0fdac2c1586","kind":"commit","published_at":"2022-07-13T19:06:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.6","html_url":"https://github.com/angular/angular/releases/tag/14.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.6/manifests"},{"name":"14.1.0-next.4","sha":"458d3469cbed6b46849214a1a83174295e0914be","kind":"commit","published_at":"2022-07-06T16:42:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/14.1.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.4/manifests"},{"name":"14.0.5","sha":"054de6dc34504c782944cb04e7687aaae2323a34","kind":"commit","published_at":"2022-07-06T16:28:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.5","html_url":"https://github.com/angular/angular/releases/tag/14.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.5/manifests"},{"name":"14.1.0-next.3","sha":"97110674f3b0291c94e8d1bc57665a779a258376","kind":"commit","published_at":"2022-06-29T18:24:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/14.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.3/manifests"},{"name":"14.0.4","sha":"88bfbd9299f9e9dda50bf93bc0686e2fcc6c043f","kind":"commit","published_at":"2022-06-29T18:14:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.4","html_url":"https://github.com/angular/angular/releases/tag/14.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.4/manifests"},{"name":"14.1.0-next.2","sha":"8d485491a9630e1b24e1781b98335f011764699a","kind":"commit","published_at":"2022-06-22T23:58:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/14.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.2/manifests"},{"name":"14.0.3","sha":"a4c9e8df6d28f70804c69e42c6094cd6323fc6bc","kind":"commit","published_at":"2022-06-22T23:50:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.3","html_url":"https://github.com/angular/angular/releases/tag/14.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.3/manifests"},{"name":"14.1.0-next.1","sha":"c2dab9d8cbf15cbfdd1311de6d65481bb32355e9","kind":"commit","published_at":"2022-06-15T17:58:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/14.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.1/manifests"},{"name":"14.0.2","sha":"88e16553e88356339db4fbc6aa1b78a9dfdfc8d2","kind":"commit","published_at":"2022-06-15T17:27:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.2","html_url":"https://github.com/angular/angular/releases/tag/14.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.2/manifests"},{"name":"zone.js-0.11.6","sha":"1120d540d863922308c116da0ba33f08ceb87ac1","kind":"commit","published_at":"2022-06-14T19:53:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.11.6","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.11.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.6/manifests"},{"name":"14.1.0-next.0","sha":"0e6dbcd9c3109bd9bdc2a01b3705efcb3be53656","kind":"commit","published_at":"2022-06-08T20:31:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/14.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.1.0-next.0/manifests"},{"name":"14.0.1","sha":"f0b94f5b4836adbc9a41b8a392f7123128196224","kind":"commit","published_at":"2022-06-08T20:06:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.1","html_url":"https://github.com/angular/angular/releases/tag/14.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.1/manifests"},{"name":"14.0.0","sha":"6280a98ff19162ec13c0d8118e0c176be1489b58","kind":"commit","published_at":"2022-06-02T16:53:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0","html_url":"https://github.com/angular/angular/releases/tag/14.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0/manifests"},{"name":"14.0.0-rc.3","sha":"763c5f8991d38304871a0fa8aeaaa20dce9fb67f","kind":"commit","published_at":"2022-05-31T23:46:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-rc.3/manifests"},{"name":"13.3.11","sha":"ce2f1496cf8f4feb8b72ee97f70fb7e677f19354","kind":"commit","published_at":"2022-05-31T23:34:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.11","html_url":"https://github.com/angular/angular/releases/tag/13.3.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.11/manifests"},{"name":"14.0.0-rc.2","sha":"542d4c7805e890f5c06e301d4c38bc0f0a54804b","kind":"commit","published_at":"2022-05-25T20:53:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-rc.2/manifests"},{"name":"13.3.10","sha":"31acfa11bbbfcdd6abd6311b877b64396486ea35","kind":"commit","published_at":"2022-05-25T20:33:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.10","html_url":"https://github.com/angular/angular/releases/tag/13.3.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.10/manifests"},{"name":"14.0.0-rc.1","sha":"8869fce1a45c022828fc217b9943d72a5819a0a7","kind":"commit","published_at":"2022-05-18T19:06:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-rc.1/manifests"},{"name":"13.3.9","sha":"f708479e2ee2e96af01cec63aff9c4abf535a95b","kind":"commit","published_at":"2022-05-18T18:42:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.9","html_url":"https://github.com/angular/angular/releases/tag/13.3.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.9/manifests"},{"name":"13.3.8","sha":"986e80e9db46a267d33667464bb64c3501f8c72b","kind":"commit","published_at":"2022-05-12T22:05:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.8","html_url":"https://github.com/angular/angular/releases/tag/13.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.8/manifests"},{"name":"14.0.0-rc.0","sha":"c3c82b69fbf13c7dd92053e685006e84e81b3b89","kind":"commit","published_at":"2022-05-11T17:31:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-rc.0/manifests"},{"name":"13.3.7","sha":"72c11f33b5cfb3c49d1d4aeab5e970b400f76d3d","kind":"commit","published_at":"2022-05-11T17:17:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.7","html_url":"https://github.com/angular/angular/releases/tag/13.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.7/manifests"},{"name":"14.0.0-next.16","sha":"967e9345b39db19b81114fc7bdb8456c3db7364c","kind":"commit","published_at":"2022-05-04T20:55:01.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.16","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.16/manifests"},{"name":"13.3.6","sha":"e3b657e73ab31c492351849486d9a8d0ab4b74f3","kind":"commit","published_at":"2022-05-04T19:58:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.6","html_url":"https://github.com/angular/angular/releases/tag/13.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.6/manifests"},{"name":"14.0.0-next.15","sha":"b9a07d68e28deffa4f2c61d53cea74d3d32e560c","kind":"commit","published_at":"2022-04-27T19:01:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.15","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.15/manifests"},{"name":"13.3.5","sha":"8cfb53df0141c725b67b09dd5c8777bd2992033c","kind":"commit","published_at":"2022-04-27T18:23:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.5","html_url":"https://github.com/angular/angular/releases/tag/13.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.5/manifests"},{"name":"14.0.0-next.14","sha":"d8226de64723a6786878bd0ffd976484613fdb5b","kind":"commit","published_at":"2022-04-20T21:47:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.14","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.14/manifests"},{"name":"13.3.4","sha":"2ea541f4f8af499ad85f84a1c6c11d827e860cab","kind":"commit","published_at":"2022-04-20T21:31:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.4","html_url":"https://github.com/angular/angular/releases/tag/13.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.4/manifests"},{"name":"14.0.0-next.13","sha":"fbbed3d723fa4d255e59acd63d89961bc6f9e62f","kind":"commit","published_at":"2022-04-13T18:40:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.13","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.13/manifests"},{"name":"13.3.3","sha":"cbfe6284a2cb4a0e5f8d88f833de7341d478250d","kind":"commit","published_at":"2022-04-13T18:27:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.3","html_url":"https://github.com/angular/angular/releases/tag/13.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.3/manifests"},{"name":"14.0.0-next.12","sha":"65323286eda318b694a793c449887a5858a15069","kind":"commit","published_at":"2022-04-12T20:00:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.12","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.12/manifests"},{"name":"14.0.0-next.11","sha":"f1a2816ba9432b3bf186c94e5f538d72d992dca4","kind":"commit","published_at":"2022-04-06T15:58:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.11","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.11/manifests"},{"name":"13.3.2","sha":"fb5e16e0184c5dbd4f6ab7fdb3d5c50afe9216a2","kind":"commit","published_at":"2022-04-06T15:47:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.2","html_url":"https://github.com/angular/angular/releases/tag/13.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.2/manifests"},{"name":"13.3.1","sha":"9c9a52540ca22a76200e1b3aef2f7e372398e589","kind":"commit","published_at":"2022-03-30T21:21:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.1","html_url":"https://github.com/angular/angular/releases/tag/13.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.1/manifests"},{"name":"14.0.0-next.10","sha":"115aafbe51cf0ff6ca0dd47d64f944e37e5dd86b","kind":"commit","published_at":"2022-03-30T21:10:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.10","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.10/manifests"},{"name":"14.0.0-next.9","sha":"7ab718176329e31bd1374df8cc26a2e3cab45c9d","kind":"commit","published_at":"2022-03-25T19:41:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.9","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.9/manifests"},{"name":"14.0.0-next.8","sha":"aed95cd47005a413eadf28346a2e0722de38f454","kind":"commit","published_at":"2022-03-25T17:42:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.8","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.8/manifests"},{"name":"14.0.0-next.7","sha":"2b6749f5a0448153a14729b7d9e22c9d6c87712e","kind":"commit","published_at":"2022-03-16T19:41:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.7/manifests"},{"name":"13.3.0","sha":"f00f8c48632cfa4d0d73009ae06cb71e7ef1706f","kind":"commit","published_at":"2022-03-16T19:07:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.0","html_url":"https://github.com/angular/angular/releases/tag/13.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.0/manifests"},{"name":"13.2.7","sha":"f6c229f755a56c2a795e9e68dce263c5d3c2b57c","kind":"commit","published_at":"2022-03-16T18:26:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.7","html_url":"https://github.com/angular/angular/releases/tag/13.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.7/manifests"},{"name":"13.3.0-rc.0","sha":"0f8e748b078bbae38b0796d1dc01feade47add2d","kind":"commit","published_at":"2022-03-10T19:14:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/13.3.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.0-rc.0/manifests"},{"name":"14.0.0-next.6","sha":"a301b36f1f711ab956e37c4aee0010b44d9810ef","kind":"commit","published_at":"2022-03-09T17:04:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.6/manifests"},{"name":"13.2.6","sha":"6f1c941dfec8cf0ea0ccbb0fda76f3d960fd843b","kind":"commit","published_at":"2022-03-09T16:53:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.6","html_url":"https://github.com/angular/angular/releases/tag/13.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.6/manifests"},{"name":"13.3.0-next.0","sha":"6f1c941dfec8cf0ea0ccbb0fda76f3d960fd843b","kind":"commit","published_at":"2022-03-09T16:53:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.3.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/13.3.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.3.0-next.0/manifests"},{"name":"zone.js-0.11.5","sha":"9b1e9c0bd7e8332781d0276be7644e3d3b23c668","kind":"commit","published_at":"2022-03-03T23:49:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.11.5","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.11.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.5/manifests"},{"name":"14.0.0-next.5","sha":"6459b253e827a145e51a74289cc563d488956ba0","kind":"commit","published_at":"2022-03-02T18:51:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.5/manifests"},{"name":"13.2.5","sha":"8bf3b53a1d6d04de85545807d4eebbb3480343ae","kind":"commit","published_at":"2022-03-02T18:18:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.5","html_url":"https://github.com/angular/angular/releases/tag/13.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.5/manifests"},{"name":"14.0.0-next.4","sha":"ded96ca6cb3484414cd01d48e2fb11a5fd74accc","kind":"commit","published_at":"2022-02-23T20:50:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.4/manifests"},{"name":"13.2.4","sha":"e914da145bf76e993206910590e7729abadc3242","kind":"commit","published_at":"2022-02-23T20:35:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.4","html_url":"https://github.com/angular/angular/releases/tag/13.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.4/manifests"},{"name":"14.0.0-next.3","sha":"235bffc5f9a0faf00b9aeb4ef5f15c696ad4b522","kind":"commit","published_at":"2022-02-17T21:35:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.3/manifests"},{"name":"13.2.3","sha":"54d09a6bc0e1b7c870ef79c4b32295e223ca8030","kind":"commit","published_at":"2022-02-16T23:50:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.3","html_url":"https://github.com/angular/angular/releases/tag/13.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.3/manifests"},{"name":"13.2.2","sha":"7a47add255486e2b30a98e8ce54ccb5fd6bcc2f0","kind":"commit","published_at":"2022-02-08T17:39:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.2","html_url":"https://github.com/angular/angular/releases/tag/13.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.2/manifests"},{"name":"14.0.0-next.2","sha":"a3de44c7f64d847baa2f286325f01e76fbd7c565","kind":"commit","published_at":"2022-02-08T01:19:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.2/manifests"},{"name":"14.0.0-next.1","sha":"0c36f821343036dc37cb2246f70e3163dbe68af7","kind":"commit","published_at":"2022-02-02T19:39:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.1/manifests"},{"name":"13.2.1","sha":"7924a2e4970251f22ed6146c05731f1aa89591b1","kind":"commit","published_at":"2022-02-02T18:42:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.1","html_url":"https://github.com/angular/angular/releases/tag/13.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.1/manifests"},{"name":"12.2.16","sha":"b2a081a19d6d006023b0f79076e9e499441a7810","kind":"commit","published_at":"2022-01-27T00:10:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.16","html_url":"https://github.com/angular/angular/releases/tag/12.2.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.16/manifests"},{"name":"14.0.0-next.0","sha":"04eec90a47810c1e2ded2475d8ca5721b62b7d18","kind":"commit","published_at":"2022-01-26T19:58:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/14.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/14.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/14.0.0-next.0/manifests"},{"name":"13.2.0","sha":"de1e35b944859d438c4fdfa3ff62fb92113bca4f","kind":"commit","published_at":"2022-01-26T19:44:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.0","html_url":"https://github.com/angular/angular/releases/tag/13.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0/manifests"},{"name":"13.2.0-rc.1","sha":"fce521e4d2e4431b7132653f042e97317508f1f1","kind":"commit","published_at":"2022-01-24T17:41:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/13.2.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-rc.1/manifests"},{"name":"13.2.0-rc.0","sha":"caeb162513dbc4ef830c4928a91c399f262358b6","kind":"commit","published_at":"2022-01-20T01:36:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/13.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-rc.0/manifests"},{"name":"13.1.3","sha":"7cb3b78acc001bb261bf236de18c72d665194199","kind":"commit","published_at":"2022-01-19T17:31:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.1.3","html_url":"https://github.com/angular/angular/releases/tag/13.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.3/manifests"},{"name":"13.2.0-next.2","sha":"42ce3ac0080bc2b93243f161db4d1a99adb5610c","kind":"commit","published_at":"2022-01-12T19:21:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/13.2.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-next.2/manifests"},{"name":"13.1.2","sha":"d1762c78afdc22974ed755754b08fb57d8732976","kind":"commit","published_at":"2022-01-12T18:47:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.1.2","html_url":"https://github.com/angular/angular/releases/tag/13.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.2/manifests"},{"name":"13.2.0-next.1","sha":"28eecf571915f48e389d7b69c55d406001c31df8","kind":"commit","published_at":"2021-12-15T20:21:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/13.2.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-next.1/manifests"},{"name":"13.1.1","sha":"0115e2b66493b06532f5399f3cad79e6149aed7f","kind":"commit","published_at":"2021-12-15T19:32:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.1.1","html_url":"https://github.com/angular/angular/releases/tag/13.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.1/manifests"},{"name":"12.2.15","sha":"9616b086ea8ea978f9540b746993a882e04fe970","kind":"commit","published_at":"2021-12-10T18:56:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.15","html_url":"https://github.com/angular/angular/releases/tag/12.2.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.15/manifests"},{"name":"13.2.0-next.0","sha":"a7c117ab44775fb8d6149ee8b1956248ac3d3715","kind":"commit","published_at":"2021-12-09T18:25:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/13.2.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.2.0-next.0/manifests"},{"name":"13.1.0","sha":"b11d3c375930103c11d9123bdb30555e2f53b380","kind":"commit","published_at":"2021-12-09T17:02:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.1.0","html_url":"https://github.com/angular/angular/releases/tag/13.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0/manifests"},{"name":"12.2.14","sha":"4cf1a81265abbff2e2481cc0523fa89e474ecda1","kind":"commit","published_at":"2021-12-01T23:08:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.14","html_url":"https://github.com/angular/angular/releases/tag/12.2.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.14/manifests"},{"name":"13.1.0-next.3","sha":"6769df72952b41f6552effca3e7cf2abe83ba455","kind":"commit","published_at":"2021-12-01T21:25:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/13.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0-next.3/manifests"},{"name":"13.0.3","sha":"257a30d7b394867be59dbdaf56cfe8e572c02fb8","kind":"commit","published_at":"2021-12-01T21:05:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.3","html_url":"https://github.com/angular/angular/releases/tag/13.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.3/manifests"},{"name":"13.1.0-next.2","sha":"90a4ae1dd7f27f0623219302d92fd0d1ec596e05","kind":"commit","published_at":"2021-11-17T17:48:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/13.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0-next.2/manifests"},{"name":"13.0.2","sha":"c25927da256163e3cb02d79769da5dd870869353","kind":"commit","published_at":"2021-11-17T17:35:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.2","html_url":"https://github.com/angular/angular/releases/tag/13.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.2/manifests"},{"name":"13.1.0-next.1","sha":"f817e304053716d6a957c5c4863ea549ca9fbccd","kind":"commit","published_at":"2021-11-10T23:53:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/13.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0-next.1/manifests"},{"name":"13.0.1","sha":"539d720fcde2ba5094224abc6e7380f9f6d4828f","kind":"commit","published_at":"2021-11-10T23:41:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.1","html_url":"https://github.com/angular/angular/releases/tag/13.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.1/manifests"},{"name":"13.1.0-next.0","sha":"cbf96c140792828b52f2c16ba2ccf6f66d79eccc","kind":"commit","published_at":"2021-11-03T20:46:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/13.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.1.0-next.0/manifests"},{"name":"12.2.13","sha":"8a99ef18b4ae58736f0b7457e88908d3adcad613","kind":"commit","published_at":"2021-11-03T20:19:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.13","html_url":"https://github.com/angular/angular/releases/tag/12.2.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.13/manifests"},{"name":"13.0.0","sha":"167e2a8bb8b5aca8d83db0615e91c90355cd4c90","kind":"commit","published_at":"2021-11-03T17:51:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0","html_url":"https://github.com/angular/angular/releases/tag/13.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0/manifests"},{"name":"13.0.0-rc.3","sha":"d24cbcea70aff8ff6fd43fda3f14ef81719521d5","kind":"commit","published_at":"2021-11-02T01:50:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-rc.3/manifests"},{"name":"13.0.0-rc.2","sha":"a2ce1da85baa513b096ca7c06400b641663b1635","kind":"commit","published_at":"2021-10-27T18:29:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-rc.2/manifests"},{"name":"12.2.12","sha":"515ba60b6fd0d52af2d2d69db21c57ae0ed5605f","kind":"commit","published_at":"2021-10-27T18:19:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.12","html_url":"https://github.com/angular/angular/releases/tag/12.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.12/manifests"},{"name":"13.0.0-rc.1","sha":"b31a9a75ad71b5aae098b3cf5588a73b226a9faf","kind":"commit","published_at":"2021-10-20T16:57:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-rc.1/manifests"},{"name":"12.2.11","sha":"d10f143b1af8213870de4560da3c1ce6b8c3c1d2","kind":"commit","published_at":"2021-10-20T16:42:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.11","html_url":"https://github.com/angular/angular/releases/tag/12.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.11/manifests"},{"name":"13.0.0-rc.0","sha":"b5eccde447ba4dc38384f95a7111900092a6c4e4","kind":"commit","published_at":"2021-10-13T18:24:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-rc.0/manifests"},{"name":"12.2.10","sha":"c7c285cec710468551c2c8c6b996214adf9ec8ca","kind":"commit","published_at":"2021-10-13T17:59:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.10","html_url":"https://github.com/angular/angular/releases/tag/12.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.10/manifests"},{"name":"13.0.0-next.15","sha":"aef18bcbd68a25de0cb14481789e4bd7f8e02c37","kind":"commit","published_at":"2021-10-07T19:08:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.15","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.15/manifests"},{"name":"13.0.0-next.14","sha":"0a0cc67c3983f38dc86eef1b516e3887344ecfd6","kind":"commit","published_at":"2021-10-06T23:21:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.14","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.14/manifests"},{"name":"12.2.9","sha":"ca3b552af249a3d1a15c912a26e61afd26c33a84","kind":"commit","published_at":"2021-10-06T22:47:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.9","html_url":"https://github.com/angular/angular/releases/tag/12.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.9/manifests"},{"name":"13.0.0-next.13","sha":"5d7229e6b65a737f64a7c8ee3d14ec67f8a0a62d","kind":"commit","published_at":"2021-10-06T18:50:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.13","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.13/manifests"},{"name":"13.0.0-next.12","sha":"7acf3bece457e238bb38a83721bbe0a64376a07c","kind":"commit","published_at":"2021-10-06T01:09:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.12","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.12/manifests"},{"name":"13.0.0-next.11","sha":"dd0722fd1fa6f6fa4ea92370b2b4d6845edb49fa","kind":"commit","published_at":"2021-10-05T00:23:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.11","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.11/manifests"},{"name":"13.0.0-next.10","sha":"c721135e370b34c840756bcfb22c8119b4c8c452","kind":"commit","published_at":"2021-10-01T20:19:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.10","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.10/manifests"},{"name":"13.0.0-next.9","sha":"9d9d05911dbd6e2f30e4c7bced0e41fd20ec4285","kind":"commit","published_at":"2021-09-30T20:23:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.9","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.9/manifests"},{"name":"12.2.8","sha":"d6679e2969d724e3cab9ece004d636cf036e1a6d","kind":"commit","published_at":"2021-09-30T20:02:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.8","html_url":"https://github.com/angular/angular/releases/tag/12.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.8/manifests"},{"name":"13.0.0-next.8","sha":"22eebbafbccbf35b6f7bff1a99a7333b8fa5ff2f","kind":"commit","published_at":"2021-09-27T17:27:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.8","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.8/manifests"},{"name":"13.0.0-next.7","sha":"49d29e13371186909c0b1f279e724433dbd76049","kind":"commit","published_at":"2021-09-22T19:09:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.7/manifests"},{"name":"12.2.7","sha":"dad213e8c71eb31d140b7c9f48fc16827411f22c","kind":"commit","published_at":"2021-09-22T18:58:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.7","html_url":"https://github.com/angular/angular/releases/tag/12.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.7/manifests"},{"name":"13.0.0-next.6","sha":"5e9eb7abbd09740deecd3e814a7e01f53ba912d8","kind":"commit","published_at":"2021-09-15T17:37:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.6/manifests"},{"name":"12.2.6","sha":"9b8f056604891537e37d6e0231b28b99868bd041","kind":"commit","published_at":"2021-09-15T17:26:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.6","html_url":"https://github.com/angular/angular/releases/tag/12.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.6/manifests"},{"name":"13.0.0-next.5","sha":"93c9932d17e96dc2e401271354c68ce4462195ce","kind":"commit","published_at":"2021-09-08T16:45:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.5/manifests"},{"name":"12.2.5","sha":"e726a63cdd17588ce53fb7eeaf829995ef941cc0","kind":"commit","published_at":"2021-09-08T16:28:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.5","html_url":"https://github.com/angular/angular/releases/tag/12.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.5/manifests"},{"name":"13.0.0-next.4","sha":"478131c519cd3e12fbede458d5c6ecdc1ca0c9ce","kind":"commit","published_at":"2021-09-01T19:09:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.4/manifests"},{"name":"12.2.4","sha":"caecd1889b4bc06773c5f82ffcec82d7f88389a5","kind":"commit","published_at":"2021-09-01T18:30:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.4","html_url":"https://github.com/angular/angular/releases/tag/12.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.4/manifests"},{"name":"13.0.0-next.3","sha":"49766d2d0aa38f28f0044c97c5f56fd38fae025d","kind":"commit","published_at":"2021-08-25T21:51:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.3/manifests"},{"name":"12.2.3","sha":"b8183614f59e4bfef79c673346b700d39a669d2f","kind":"commit","published_at":"2021-08-25T21:20:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.3","html_url":"https://github.com/angular/angular/releases/tag/12.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.3/manifests"},{"name":"13.0.0-next.2","sha":"e3b6e26565bcd03b259392c6676ce931e8b5be20","kind":"commit","published_at":"2021-08-18T21:38:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.2/manifests"},{"name":"12.2.2","sha":"c501e86fd2a9d4acff1d1106392b1d3d0ecb03a4","kind":"commit","published_at":"2021-08-18T17:15:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.2","html_url":"https://github.com/angular/angular/releases/tag/12.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.2/manifests"},{"name":"13.0.0-next.1","sha":"1f1822216ebdc7708562b2038dfdf115d7f22905","kind":"commit","published_at":"2021-08-11T17:25:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.1/manifests"},{"name":"12.2.1","sha":"9136dbd65c73e5d5e8a22a630662cad737663354","kind":"commit","published_at":"2021-08-11T17:13:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.1","html_url":"https://github.com/angular/angular/releases/tag/12.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.1/manifests"},{"name":"13.0.0-next.0","sha":"a99892e62f95ecd8287ce601314c0da2ee6644cf","kind":"commit","published_at":"2021-08-04T18:43:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/13.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/13.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/13.0.0-next.0/manifests"},{"name":"12.2.0","sha":"cdc8c7cad0363820e9671cc7a89e1500e2a07a32","kind":"commit","published_at":"2021-08-04T17:24:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.0","html_url":"https://github.com/angular/angular/releases/tag/12.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0/manifests"},{"name":"12.1.5","sha":"a491295d9e099c05ec26bee8b694cda688e44b33","kind":"commit","published_at":"2021-08-04T16:59:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.5","html_url":"https://github.com/angular/angular/releases/tag/12.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.5/manifests"},{"name":"12.2.0-rc.0","sha":"3346cb6e4e4c318455acb01fab7ed9a80c6a20f3","kind":"commit","published_at":"2021-07-28T18:51:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/12.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-rc.0/manifests"},{"name":"12.1.4","sha":"6ef06bbb3818f1ede7b3290748d4f04f910f575c","kind":"commit","published_at":"2021-07-28T18:34:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.4","html_url":"https://github.com/angular/angular/releases/tag/12.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.4/manifests"},{"name":"12.2.0-next.3","sha":"9d747e3aa37ac4e40ecc529ab4e769a7e757a9df","kind":"commit","published_at":"2021-07-21T21:55:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/12.2.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-next.3/manifests"},{"name":"12.1.3","sha":"b0854e2ec6a337cc639d405524aba225c9b45344","kind":"commit","published_at":"2021-07-21T21:32:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.3","html_url":"https://github.com/angular/angular/releases/tag/12.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.3/manifests"},{"name":"12.2.0-next.2","sha":"0b429d314f02d07c3eb6b06074ac958a4a4e3cfa","kind":"commit","published_at":"2021-07-14T17:59:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/12.2.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-next.2/manifests"},{"name":"12.1.2","sha":"2a61728137c8107c5b8f194c89ff9318b4d11034","kind":"commit","published_at":"2021-07-14T17:47:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.2","html_url":"https://github.com/angular/angular/releases/tag/12.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.2/manifests"},{"name":"12.2.0-next.1","sha":"1445dba903552d457fe15cfa3a5a6c7860482805","kind":"commit","published_at":"2021-06-30T20:29:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/12.2.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-next.1/manifests"},{"name":"12.1.1","sha":"12e0cfab54a58e46c157b2e840520847e30cdd28","kind":"commit","published_at":"2021-06-30T20:13:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.1","html_url":"https://github.com/angular/angular/releases/tag/12.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.1/manifests"},{"name":"12.2.0-next.0","sha":"6e84ede4124957c9654fd71e736d97a125ad1b0b","kind":"commit","published_at":"2021-06-24T21:30:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/12.2.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.2.0-next.0/manifests"},{"name":"12.1.0","sha":"d71d521f9bf1056850f010b3e9913499e66fc631","kind":"commit","published_at":"2021-06-24T21:02:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.0","html_url":"https://github.com/angular/angular/releases/tag/12.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0/manifests"},{"name":"12.1.0-next.6","sha":"f8e17c83e971caf88bd422daee14da8d9c81c178","kind":"commit","published_at":"2021-06-16T23:45:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/12.1.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.6/manifests"},{"name":"12.0.5","sha":"7db8e1f82eb2a306d887493805368d9a38908ca3","kind":"commit","published_at":"2021-06-16T22:45:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.5","html_url":"https://github.com/angular/angular/releases/tag/12.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.5/manifests"},{"name":"12.1.0-next.5","sha":"28a4631b63be6cd1e7e35d7f0dc6686f978f9063","kind":"commit","published_at":"2021-06-09T18:30:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/12.1.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.5/manifests"},{"name":"12.0.4","sha":"dfb072a93c2b49a02f1c36bf3e5f9547f26af29d","kind":"commit","published_at":"2021-06-09T18:03:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.4","html_url":"https://github.com/angular/angular/releases/tag/12.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.4/manifests"},{"name":"12.1.0-next.4","sha":"7bd5ea4a7ee24b96b3ecfd201111ff9deaf1ba4c","kind":"commit","published_at":"2021-06-02T18:02:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/12.1.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.4/manifests"},{"name":"12.0.3","sha":"495a2138a0b5495621b9061fa37b3a49139bb3cd","kind":"commit","published_at":"2021-06-02T17:43:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.3","html_url":"https://github.com/angular/angular/releases/tag/12.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.3/manifests"},{"name":"12.1.0-next.3","sha":"c110d050f247f569b2e95bd7787ef2dfeff8beac","kind":"commit","published_at":"2021-05-26T18:00:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/12.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.3/manifests"},{"name":"12.0.2","sha":"037b636eb29aee5756b4d2a7d81d964da0544b1c","kind":"commit","published_at":"2021-05-26T16:34:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.2","html_url":"https://github.com/angular/angular/releases/tag/12.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.2/manifests"},{"name":"12.1.0-next.2","sha":"42599451288be5f523365ed8e8e38c02080a6d95","kind":"commit","published_at":"2021-05-19T18:12:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/12.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.1.0-next.2/manifests"},{"name":"12.0.1","sha":"43525adab18a45e2ccfa6ab70da2d06f2cc381af","kind":"commit","published_at":"2021-05-19T17:41:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.1","html_url":"https://github.com/angular/angular/releases/tag/12.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.1/manifests"},{"name":"12.0.0","sha":"9b10735d2d656694873218ed726e267ff98804ce","kind":"tag","published_at":"2021-05-13T17:55:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0","html_url":"https://github.com/angular/angular/releases/tag/12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0/manifests"},{"name":"11.2.14","sha":"5f7a401fef0718ccabca4a223a8f4eb67d6c8a85","kind":"commit","published_at":"2021-05-12T20:57:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.14","html_url":"https://github.com/angular/angular/releases/tag/11.2.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.14/manifests"},{"name":"12.0.0-rc.3","sha":"1f84ac1d5f6c357d2af2ebb4e5876ee3718d7d86","kind":"commit","published_at":"2021-05-10T21:47:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-rc.3/manifests"},{"name":"12.0.0-rc.2","sha":"768d4ac94d91b93fec093c18b678a6f3ef6d78fa","kind":"commit","published_at":"2021-05-05T22:43:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-rc.2/manifests"},{"name":"11.2.13","sha":"ce3cd509f2038706e05cfafe3acfa6542c2cc902","kind":"commit","published_at":"2021-05-05T20:54:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.13","html_url":"https://github.com/angular/angular/releases/tag/11.2.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.13/manifests"},{"name":"12.0.0-rc.1","sha":"98de2176400c86e6bbcb98754811af3f7c65280c","kind":"commit","published_at":"2021-04-28T18:58:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-rc.1/manifests"},{"name":"11.2.12","sha":"f5507420204f97463c2de9531ad9d907320d38da","kind":"commit","published_at":"2021-04-28T18:18:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.12","html_url":"https://github.com/angular/angular/releases/tag/11.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.12/manifests"},{"name":"12.0.0-rc.0","sha":"897d5ad76e2a652a0d1e079e729bd52be00b2edb","kind":"commit","published_at":"2021-04-21T17:23:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-rc.0/manifests"},{"name":"v10.2.5","sha":"c270c88dfd471a225fb102904d1082ec4a5811da","kind":"commit","published_at":"2021-04-21T17:15:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/v10.2.5","html_url":"https://github.com/angular/angular/releases/tag/v10.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/v10.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/v10.2.5/manifests"},{"name":"11.2.11","sha":"03d2fc28341cc4500e265fe9cf9d1a559a34e7f6","kind":"commit","published_at":"2021-04-21T16:50:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.11","html_url":"https://github.com/angular/angular/releases/tag/11.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.11/manifests"},{"name":"10.2.5","sha":"74eed464772bc4ffe8ad9eb9f26ce2205254d575","kind":"commit","published_at":"2021-04-14T21:23:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.2.5","html_url":"https://github.com/angular/angular/releases/tag/10.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.5/manifests"},{"name":"12.0.0-next.9","sha":"886bf37cd1f88576fe3ec4d2a3eef3ff8710afba","kind":"commit","published_at":"2021-04-14T20:10:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.9","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.9/manifests"},{"name":"11.2.10","sha":"3a2b5906aebbeab1d62a258b50bb7c0149df0b71","kind":"commit","published_at":"2021-04-14T19:34:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.10","html_url":"https://github.com/angular/angular/releases/tag/11.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.10/manifests"},{"name":"12.0.0-next.8","sha":"eda27c9a8763e24e88177eb2e2350149f59dbe33","kind":"commit","published_at":"2021-04-07T18:40:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.8","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.8/manifests"},{"name":"11.2.9","sha":"bafec59b33819b8a47eb9723f8014618c9f1b991","kind":"commit","published_at":"2021-04-07T18:27:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.9","html_url":"https://github.com/angular/angular/releases/tag/11.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.9/manifests"},{"name":"12.0.0-next.7","sha":"4ce743dfb8b89b54093c4c9300ca24c5d1f50544","kind":"commit","published_at":"2021-04-01T23:56:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.7/manifests"},{"name":"11.2.8","sha":"154129b9defa9295f4684c595d1981c9b3c970c5","kind":"commit","published_at":"2021-04-01T21:46:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.8","html_url":"https://github.com/angular/angular/releases/tag/11.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.8/manifests"},{"name":"12.0.0-next.6","sha":"9da7ea983689e29d0dc9454c73cb978e1ea57c5a","kind":"commit","published_at":"2021-03-24T16:27:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.6/manifests"},{"name":"11.2.7","sha":"09dcf8639682c02b61d1df3c42f5578374125712","kind":"commit","published_at":"2021-03-24T16:17:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.7","html_url":"https://github.com/angular/angular/releases/tag/11.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.7/manifests"},{"name":"12.0.0-next.5","sha":"02e8901d9eec916d1f59409435e53b7a34e7a33d","kind":"commit","published_at":"2021-03-17T18:41:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.5/manifests"},{"name":"11.2.6","sha":"cbba7152fd2a533277b88aca98a50339d098d9f7","kind":"commit","published_at":"2021-03-17T17:43:01.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.6","html_url":"https://github.com/angular/angular/releases/tag/11.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.6/manifests"},{"name":"12.0.0-next.4","sha":"1fb0dbb30061b7cb84a275a18110f3eb9a107771","kind":"commit","published_at":"2021-03-10T18:03:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.4/manifests"},{"name":"11.2.5","sha":"2c757591ee334ced115bc93ba1b944803bb0c07e","kind":"commit","published_at":"2021-03-10T17:44:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.5","html_url":"https://github.com/angular/angular/releases/tag/11.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.5/manifests"},{"name":"12.0.0-next.3","sha":"a10fe450d93eacbe45ba0a1892d0bbe63fc81b51","kind":"commit","published_at":"2021-03-03T23:09:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.3/manifests"},{"name":"11.2.4","sha":"2028a77dc843ddc1b4fedfc843f1b4a4b4c91179","kind":"commit","published_at":"2021-03-03T22:37:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.4","html_url":"https://github.com/angular/angular/releases/tag/11.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.4/manifests"},{"name":"12.0.0-next.2","sha":"140ff8af13bffa5646d8ad7a1f568c313b367abd","kind":"commit","published_at":"2021-02-24T17:54:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.2/manifests"},{"name":"11.2.3","sha":"d7133a8e4ef399abef9253d59c3182bb7cfcc271","kind":"commit","published_at":"2021-02-24T17:36:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.3","html_url":"https://github.com/angular/angular/releases/tag/11.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.3/manifests"},{"name":"11.2.2","sha":"263bbd43c1808f1201bc4b50fe76e8fbba672c51","kind":"commit","published_at":"2021-02-22T21:48:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.2","html_url":"https://github.com/angular/angular/releases/tag/11.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.2/manifests"},{"name":"12.0.0-next.1","sha":"b31098d5e935fa055ba3c3275463f17cc822d7ec","kind":"commit","published_at":"2021-02-17T18:47:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.1/manifests"},{"name":"11.2.1","sha":"572e3a356c487af1cd5b052d2e98e94f41395fe9","kind":"commit","published_at":"2021-02-17T18:22:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.1","html_url":"https://github.com/angular/angular/releases/tag/11.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.1/manifests"},{"name":"zone.js-0.11.4","sha":"44b8b0ffe1761b2f2b2dfe3c1b085553f163ed2e","kind":"commit","published_at":"2021-02-12T21:33:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.11.4","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.11.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.4/manifests"},{"name":"12.0.0-next.0","sha":"9b4263bf70039ebb9f8d1eb81fc082d8a2c63a15","kind":"commit","published_at":"2021-02-10T23:32:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/12.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/12.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/12.0.0-next.0/manifests"},{"name":"11.2.0","sha":"e3f09ce845cef9fd2c89d39d0d822114c51e68fa","kind":"commit","published_at":"2021-02-10T22:08:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.0","html_url":"https://github.com/angular/angular/releases/tag/11.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.0/manifests"},{"name":"11.2.0-rc.0","sha":"58f8ba0a8c0d71afdcd4d8cb0008c69b09e0c094","kind":"commit","published_at":"2021-02-03T23:38:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/11.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.0-rc.0/manifests"},{"name":"11.2.0-next.1","sha":"6ac05c05e9c61f3ba67d9324b420d13565b2adbf","kind":"commit","published_at":"2021-02-03T22:40:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/11.2.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.0-next.1/manifests"},{"name":"11.1.2","sha":"9517ae3f239baa071acd8dd11bcb9464e98da3a1","kind":"commit","published_at":"2021-02-03T22:01:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.2","html_url":"https://github.com/angular/angular/releases/tag/11.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.2/manifests"},{"name":"11.2.0-next.0","sha":"f44a8e2cf681ead12b5ca696161c468c16c5f79a","kind":"commit","published_at":"2021-01-27T20:05:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/11.2.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.2.0-next.0/manifests"},{"name":"11.1.1","sha":"63275ae82cc4b5d99a551390004459918dee5bb3","kind":"commit","published_at":"2021-01-27T19:44:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.1","html_url":"https://github.com/angular/angular/releases/tag/11.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.1/manifests"},{"name":"11.1.0","sha":"59680c2644456f9d48b78e713f7f225dfb5bb289","kind":"commit","published_at":"2021-01-20T18:30:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.0","html_url":"https://github.com/angular/angular/releases/tag/11.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0/manifests"},{"name":"11.1.0-rc.0","sha":"ebd94ef41b5fdd1acc89ae21d6476122aa10521e","kind":"commit","published_at":"2021-01-13T21:26:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/11.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-rc.0/manifests"},{"name":"11.1.0-next.5","sha":"1ec5f869e03d90480000e45db039716811731423","kind":"commit","published_at":"2021-01-13T20:12:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/11.1.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.5/manifests"},{"name":"11.0.9","sha":"c6ca7b4a12c4b74720f30fa490e72760641c6d73","kind":"commit","published_at":"2021-01-13T18:49:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.9","html_url":"https://github.com/angular/angular/releases/tag/11.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.9/manifests"},{"name":"11.0.8","sha":"ec3987ede6d3adc3858b46b524ff4cb1b89aabf5","kind":"commit","published_at":"2021-01-11T17:25:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.8","html_url":"https://github.com/angular/angular/releases/tag/11.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.8/manifests"},{"name":"11.0.7","sha":"64d94e8a6805c98d40b2763cbd6f6f1d8e1fd270","kind":"commit","published_at":"2021-01-07T20:29:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.7","html_url":"https://github.com/angular/angular/releases/tag/11.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.7/manifests"},{"name":"11.1.0-next.4","sha":"bff48a0885b424ffa2747cc7d3688b56bf9099ad","kind":"commit","published_at":"2021-01-06T21:20:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/11.1.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.4/manifests"},{"name":"11.0.6","sha":"5b9c981b6d4e4f96236858773f84750a46260986","kind":"commit","published_at":"2021-01-06T21:13:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.6","html_url":"https://github.com/angular/angular/releases/tag/11.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.6/manifests"},{"name":"9.1.13","sha":"31448197e4ba425a02c154053fbe2c2fe029b8a0","kind":"commit","published_at":"2020-12-17T00:23:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.13","html_url":"https://github.com/angular/angular/releases/tag/9.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.13/manifests"},{"name":"10.2.4","sha":"4a11226be733dc1c1166d84f84b4f5ed80b241fc","kind":"commit","published_at":"2020-12-17T00:08:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.2.4","html_url":"https://github.com/angular/angular/releases/tag/10.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.4/manifests"},{"name":"11.1.0-next.3","sha":"0fc8466f1be392917e0c7e3448b2144d52286b56","kind":"commit","published_at":"2020-12-16T23:39:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/11.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.3/manifests"},{"name":"11.0.5","sha":"e0e2157a28558b388670ad2da4bdcdede8070c7d","kind":"commit","published_at":"2020-12-16T23:17:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.5","html_url":"https://github.com/angular/angular/releases/tag/11.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.5/manifests"},{"name":"11.1.0-next.2","sha":"5942fb843fcc9ba92de9ca30726b6e11afb112f1","kind":"commit","published_at":"2020-12-09T19:57:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/11.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.2/manifests"},{"name":"11.0.4","sha":"884f743baa667ee5b62d67c3fb9dabab1b03d2d8","kind":"commit","published_at":"2020-12-09T19:43:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.4","html_url":"https://github.com/angular/angular/releases/tag/11.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.4/manifests"},{"name":"11.1.0-next.1","sha":"784667ca12ab9628714d858b55b61611737cd283","kind":"commit","published_at":"2020-12-02T18:40:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/11.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.1/manifests"},{"name":"11.0.3","sha":"7001ef642942e0a17594f3b9ee359011f5a6cb00","kind":"commit","published_at":"2020-12-02T18:13:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.3","html_url":"https://github.com/angular/angular/releases/tag/11.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.3/manifests"},{"name":"11.0.2","sha":"33639db911fcfe08c22ca1559cb55dd14b9f9d3e","kind":"commit","published_at":"2020-11-19T19:34:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.2","html_url":"https://github.com/angular/angular/releases/tag/11.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.2/manifests"},{"name":"11.1.0-next.0","sha":"ea2312ea85a9eeb849960d610f6f8d288fc8ef58","kind":"commit","published_at":"2020-11-18T18:56:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/11.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.1.0-next.0/manifests"},{"name":"11.0.1","sha":"153b42b01efa416855344d0d2a12a4f439a99233","kind":"commit","published_at":"2020-11-18T18:38:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.1","html_url":"https://github.com/angular/angular/releases/tag/11.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.1/manifests"},{"name":"11.0.0","sha":"faf5205a66c17f29424ad46012de85898a118be6","kind":"commit","published_at":"2020-11-11T16:54:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0","html_url":"https://github.com/angular/angular/releases/tag/11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0/manifests"},{"name":"11.0.0-rc.3","sha":"6e45f2bee94f218984a59e05670aa001671b0cb9","kind":"commit","published_at":"2020-11-09T21:09:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-rc.3/manifests"},{"name":"10.2.3","sha":"0786c59835eb7f0fe374a5efe5a1f5b3b5cf76c7","kind":"commit","published_at":"2020-11-09T20:46:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.2.3","html_url":"https://github.com/angular/angular/releases/tag/10.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.3/manifests"},{"name":"11.0.0-rc.2","sha":"de4f9136624d0c213d908ccf7e85fba677c9cb57","kind":"commit","published_at":"2020-11-04T20:43:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-rc.2/manifests"},{"name":"10.2.2","sha":"16bc0fc3ec7d6eb018059864b3011693740f3fba","kind":"commit","published_at":"2020-11-04T20:32:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.2.2","html_url":"https://github.com/angular/angular/releases/tag/10.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.2/manifests"},{"name":"zone.js-0.11.3","sha":"170af0740d4a395e99f2c3e66bb884669b6a09c5","kind":"commit","published_at":"2020-10-29T22:40:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.11.3","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.3/manifests"},{"name":"11.0.0-rc.1","sha":"bf05c979a78ca1a0f8f1aea41ccfc9d4a3f20e1d","kind":"commit","published_at":"2020-10-28T21:03:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-rc.1/manifests"},{"name":"10.2.1","sha":"43edc1b34c108f19e17274b0c7aa2e141ef6a2aa","kind":"commit","published_at":"2020-10-28T20:21:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.2.1","html_url":"https://github.com/angular/angular/releases/tag/10.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.1/manifests"},{"name":"11.0.0-rc.0","sha":"08a4c5b5df9e0bcded538ae382ce717aa7336f82","kind":"commit","published_at":"2020-10-21T18:35:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-rc.0/manifests"},{"name":"10.2.0","sha":"61b1425aedbcf861871d5618b06efc029f123612","kind":"commit","published_at":"2020-10-21T17:42:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.2.0","html_url":"https://github.com/angular/angular/releases/tag/10.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.2.0/manifests"},{"name":"zone.js-0.11.2","sha":"a38293d2136ea02feec16c5059d47dc484f6b8c5","kind":"commit","published_at":"2020-10-16T17:18:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.11.2","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.2/manifests"},{"name":"11.0.0-next.6","sha":"a5d8d03edb1adaee8d366f583208f53685754c2e","kind":"commit","published_at":"2020-10-14T20:50:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.6/manifests"},{"name":"10.1.6","sha":"5db7b4c354d812938aa247a18154d6a61948547c","kind":"commit","published_at":"2020-10-14T20:33:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.6","html_url":"https://github.com/angular/angular/releases/tag/10.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.6/manifests"},{"name":"11.0.0-next.5","sha":"d4a51ae594b2410a654fa16a23c6ca07fc3404a5","kind":"commit","published_at":"2020-10-07T21:34:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.5/manifests"},{"name":"10.1.5","sha":"c4553bbed9752afa00ed2f3b66415660d7bf3209","kind":"commit","published_at":"2020-10-07T21:20:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.5","html_url":"https://github.com/angular/angular/releases/tag/10.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.5/manifests"},{"name":"11.0.0-next.4","sha":"6ae1f198e68f1a8529e4b186584e1398b1d3197f","kind":"commit","published_at":"2020-09-30T17:16:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.4/manifests"},{"name":"10.1.4","sha":"a8134dcfd4be1cc4f04163029e495aefe215d024","kind":"commit","published_at":"2020-09-30T16:54:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.4","html_url":"https://github.com/angular/angular/releases/tag/10.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.4/manifests"},{"name":"11.0.0-next.3","sha":"4baabf9cd32e5722a41eaa2805410b2ea674a384","kind":"commit","published_at":"2020-09-23T19:21:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.3/manifests"},{"name":"10.1.3","sha":"73c7882629a65158fa31b431dad7340aa4b02e91","kind":"commit","published_at":"2020-09-23T18:54:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.3","html_url":"https://github.com/angular/angular/releases/tag/10.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.3/manifests"},{"name":"11.0.0-next.2","sha":"a85109fd7253e4be9bb505357469d2143697e98c","kind":"commit","published_at":"2020-09-16T21:52:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.2/manifests"},{"name":"10.1.2","sha":"fbcb66e70cb768d87620e5c14df4f48d8a2598b8","kind":"commit","published_at":"2020-09-16T21:38:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.2","html_url":"https://github.com/angular/angular/releases/tag/10.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.2/manifests"},{"name":"11.0.0-next.1","sha":"a69507a0adc0e559d152eb3fb988a410ef9352a7","kind":"commit","published_at":"2020-09-09T20:31:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.1/manifests"},{"name":"10.1.1","sha":"1c156eb304443d95f86fd614fbe0e73297ef0c8b","kind":"commit","published_at":"2020-09-09T20:12:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.1","html_url":"https://github.com/angular/angular/releases/tag/10.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.1/manifests"},{"name":"11.0.0-next.0","sha":"e6ee7c2aebc65b70c89224d5c226751e0d3d7223","kind":"commit","published_at":"2020-09-02T20:06:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/11.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/11.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/11.0.0-next.0/manifests"},{"name":"10.1.0","sha":"c01bd0fe8e0b65430d7b7893c937e50110ec0020","kind":"commit","published_at":"2020-09-02T19:51:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0","html_url":"https://github.com/angular/angular/releases/tag/10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0/manifests"},{"name":"10.1.0-rc.0","sha":"fb0690323753fd683f4d546e063d6bce353847f7","kind":"commit","published_at":"2020-08-26T18:57:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-rc.0/manifests"},{"name":"10.0.14","sha":"7d8dce11c0726cdba999fc59a83295d19e5e92e6","kind":"commit","published_at":"2020-08-26T18:32:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.14","html_url":"https://github.com/angular/angular/releases/tag/10.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.14/manifests"},{"name":"10.0.13","sha":"438ac06ddcf270ed3a067cba1b35e22645d07c08","kind":"commit","published_at":"2020-08-26T17:18:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.13","html_url":"https://github.com/angular/angular/releases/tag/10.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.13/manifests"},{"name":"10.1.0-next.8","sha":"d36828a7a13938af634c213ae2c7999b11ce304a","kind":"commit","published_at":"2020-08-24T22:38:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-next.8","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-next.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.8/manifests"},{"name":"10.0.12","sha":"81db6a317145b5c7faffe5cb7b1d8db41bb537d4","kind":"commit","published_at":"2020-08-24T22:15:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.12","html_url":"https://github.com/angular/angular/releases/tag/10.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.12/manifests"},{"name":"10.1.0-next.7","sha":"9af2de821cf228bb7c98f6a7bdeeb5f9946a812e","kind":"commit","published_at":"2020-08-19T16:35:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.7/manifests"},{"name":"10.0.11","sha":"a3f3082bf0dfebad30158dff23f9ad19990518cc","kind":"commit","published_at":"2020-08-19T16:05:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.11","html_url":"https://github.com/angular/angular/releases/tag/10.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.11/manifests"},{"name":"zone.js-0.11.0","sha":"aaa1d8e2fe41e7ce55861eaa0ac176b23a061e2d","kind":"commit","published_at":"2020-08-18T18:47:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.11.0","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.11.0/manifests"},{"name":"10.1.0-next.6","sha":"64cf087ae562720c39cc89ba6073f070e3be4c3b","kind":"commit","published_at":"2020-08-17T20:23:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.6/manifests"},{"name":"10.0.10","sha":"3e80f0e5269ca465f92a48569c91e3671204a8bd","kind":"commit","published_at":"2020-08-17T20:10:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.10","html_url":"https://github.com/angular/angular/releases/tag/10.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.10/manifests"},{"name":"10.1.0-next.5","sha":"d6d7caa2a8e8cf26f324ee909a5050625e85683e","kind":"commit","published_at":"2020-08-12T16:57:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.5/manifests"},{"name":"10.0.9","sha":"25f79ba73e19bcf7c0925283a2dfdf2d9186eb49","kind":"commit","published_at":"2020-08-12T16:35:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.9","html_url":"https://github.com/angular/angular/releases/tag/10.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.9/manifests"},{"name":"10.1.0-next.4","sha":"2fcabe1557532e92d3e29f23295eb66f7638afe8","kind":"commit","published_at":"2020-08-04T23:13:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.4/manifests"},{"name":"10.0.8","sha":"2ab8e88924532ecd8a3459b8cb11b4ce9b7f847b","kind":"commit","published_at":"2020-08-04T22:51:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.8","html_url":"https://github.com/angular/angular/releases/tag/10.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.8/manifests"},{"name":"10.0.7","sha":"1de4fe5dbf03d88d16209a9f748ab054fbe4a5bb","kind":"commit","published_at":"2020-07-30T23:37:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.7","html_url":"https://github.com/angular/angular/releases/tag/10.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.7/manifests"},{"name":"10.1.0-next.3","sha":"57575e379fce9eb2367bfd48a8eb8be81f1d082c","kind":"commit","published_at":"2020-07-28T22:17:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.3/manifests"},{"name":"10.0.6","sha":"cdda60a43059f6d28f5facd7c0b27b1572c87918","kind":"commit","published_at":"2020-07-28T21:38:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.6","html_url":"https://github.com/angular/angular/releases/tag/10.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.6/manifests"},{"name":"10.1.0-next.2","sha":"970d10c671b9f5a2361037c4382b98a19bf6d84e","kind":"commit","published_at":"2020-07-22T16:55:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.2/manifests"},{"name":"10.0.5","sha":"2c7ff82f31361c7435649ee5284f5aa6691de2cf","kind":"commit","published_at":"2020-07-22T16:36:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.5","html_url":"https://github.com/angular/angular/releases/tag/10.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.5/manifests"},{"name":"10.0.4","sha":"13d176302bcaafa9fc19c1a1b358e1aaa93f0d29","kind":"commit","published_at":"2020-07-15T17:56:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.4","html_url":"https://github.com/angular/angular/releases/tag/10.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.4/manifests"},{"name":"10.1.0-next.1","sha":"e7c722574f058c2c30b2b77db2d8eb23a8ce2332","kind":"commit","published_at":"2020-07-15T17:07:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.1/manifests"},{"name":"10.1.0-next.0","sha":"1f796e9479dbd085231644e72a5d33c7ccf8aa34","kind":"commit","published_at":"2020-07-08T21:21:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/10.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.1.0-next.0/manifests"},{"name":"10.0.3","sha":"f24972b1b1d9f03393c311a28ee19dbe9a50f5e7","kind":"commit","published_at":"2020-07-08T20:44:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.3","html_url":"https://github.com/angular/angular/releases/tag/10.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.3/manifests"},{"name":"9.1.12","sha":"1f0c1f3ff2170d6a333897f5d9a89e3857a4e5f8","kind":"commit","published_at":"2020-07-08T19:36:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.12","html_url":"https://github.com/angular/angular/releases/tag/9.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.12/manifests"},{"name":"10.0.2","sha":"ca7ee794bf07282141af85239d07ac3db85eac92","kind":"commit","published_at":"2020-06-30T18:40:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.2","html_url":"https://github.com/angular/angular/releases/tag/10.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.2/manifests"},{"name":"10.0.1","sha":"07b5df3a197ca19f8efedc708df0b95e9a536b15","kind":"commit","published_at":"2020-06-26T20:17:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.1","html_url":"https://github.com/angular/angular/releases/tag/10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.1/manifests"},{"name":"10.0.0","sha":"345940bbc1b726c52dc9966801bd32dd051c82cb","kind":"commit","published_at":"2020-06-24T18:46:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0","html_url":"https://github.com/angular/angular/releases/tag/10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0/manifests"},{"name":"10.0.0-rc.6","sha":"c1fe6c9c81542e4f0c2a3d491da748cecc6b27a9","kind":"commit","published_at":"2020-06-15T21:01:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-rc.6","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-rc.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.6/manifests"},{"name":"10.0.0-rc.5","sha":"3a43cdefe8838825b9dc603ead1008fdbdf46415","kind":"commit","published_at":"2020-06-11T22:49:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-rc.5","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-rc.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.5/manifests"},{"name":"10.0.0-rc.4","sha":"9f698b4de0090b109a74255606f6ae20f81dec16","kind":"commit","published_at":"2020-06-10T18:31:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-rc.4","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.4/manifests"},{"name":"9.1.11","sha":"f7997256fc23e202e08df39997afd360d202f9f1","kind":"commit","published_at":"2020-06-10T18:18:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.11","html_url":"https://github.com/angular/angular/releases/tag/9.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.11/manifests"},{"name":"9.1.10","sha":"99c41d6db0d8e61f9878c58d5e545737fc14f674","kind":"commit","published_at":"2020-06-09T22:05:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.10","html_url":"https://github.com/angular/angular/releases/tag/9.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.10/manifests"},{"name":"10.0.0-rc.3","sha":"7f77ce1a4890d6dc2578e0879c7b0f7aa1ad4973","kind":"commit","published_at":"2020-06-09T00:03:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.3/manifests"},{"name":"10.0.0-rc.2","sha":"cf86f72eb754de48e08d5e2cd0fe6db0010eccc9","kind":"commit","published_at":"2020-06-01T17:51:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.2/manifests"},{"name":"10.0.0-rc.0","sha":"cfb37b899481c355b1ee89d7c63ff61f7745391f","kind":"commit","published_at":"2020-05-21T17:00:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-rc.0/manifests"},{"name":"9.1.9","sha":"b797913d1014b130ac5b1ba2840c67aedecc86b8","kind":"commit","published_at":"2020-05-20T22:26:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.9","html_url":"https://github.com/angular/angular/releases/tag/9.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.9/manifests"},{"name":"9.1.8","sha":"94fc8463cc9379a18ed582067ba3c7d8b7e4a0b1","kind":"commit","published_at":"2020-05-20T17:03:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.8","html_url":"https://github.com/angular/angular/releases/tag/9.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.8/manifests"},{"name":"10.0.0-next.9","sha":"325ad7eb53b6e7fbbbbf41275a29be3e585d00c7","kind":"commit","published_at":"2020-05-19T23:19:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.9","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.9/manifests"},{"name":"10.0.0-next.8","sha":"1754beb59c1a588a282994ac9af1fe0b4e9806bd","kind":"commit","published_at":"2020-05-18T16:21:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.8","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.8/manifests"},{"name":"10.0.0-next.7","sha":"0731fc47e4a2db847421de6a3b1fdf872d8e39b4","kind":"commit","published_at":"2020-05-13T22:28:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.7/manifests"},{"name":"9.1.7","sha":"f6e15b93897a5b391ab293215f5a570b19559987","kind":"commit","published_at":"2020-05-13T21:37:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.7","html_url":"https://github.com/angular/angular/releases/tag/9.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.7/manifests"},{"name":"9.1.6","sha":"451e7e2364c5851e405e60f4a449aeccd3383d4a","kind":"commit","published_at":"2020-05-08T16:53:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.6","html_url":"https://github.com/angular/angular/releases/tag/9.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.6/manifests"},{"name":"10.0.0-next.6","sha":"b6bc0aeb611c6d3577fb9d90cfaa8363ecf5a8aa","kind":"commit","published_at":"2020-05-07T22:52:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.6/manifests"},{"name":"9.1.5","sha":"d1b3af697cbbcc30fba844b7e0791f4f8a35c27f","kind":"commit","published_at":"2020-05-07T21:55:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.5","html_url":"https://github.com/angular/angular/releases/tag/9.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.5/manifests"},{"name":"10.0.0-next.5","sha":"7bd9e09c78297d9b862a530f592cf339961e4b5e","kind":"commit","published_at":"2020-05-04T21:48:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.5/manifests"},{"name":"10.0.0-next.4","sha":"52d2e4670076fed1ec97f9119f00330ed515b07b","kind":"commit","published_at":"2020-04-29T21:07:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.4/manifests"},{"name":"9.1.4","sha":"9b961a410a0cc18e4f7d4f3dea025e79836eee6c","kind":"commit","published_at":"2020-04-29T20:43:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.4","html_url":"https://github.com/angular/angular/releases/tag/9.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.4/manifests"},{"name":"10.0.0-next.3","sha":"deea6da0e00e8a0fca681670d65cf13d149dc482","kind":"commit","published_at":"2020-04-22T18:59:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.3/manifests"},{"name":"9.1.3","sha":"e1071615c6b0613f03b82424c0759e5feb94d711","kind":"commit","published_at":"2020-04-22T18:30:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.3","html_url":"https://github.com/angular/angular/releases/tag/9.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.3/manifests"},{"name":"10.0.0-next.2","sha":"074266b896496ec0ddf078a065e7dd16ba4ab7a4","kind":"commit","published_at":"2020-04-15T23:09:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.2/manifests"},{"name":"9.1.2","sha":"793a001d7ce5268a8d6e99aa5dc444e8558e6a28","kind":"commit","published_at":"2020-04-15T22:45:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.2","html_url":"https://github.com/angular/angular/releases/tag/9.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.2/manifests"},{"name":"10.0.0-next.1","sha":"b40b5576df83745c42a45c6379038a51a90f8ac0","kind":"commit","published_at":"2020-04-08T19:28:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.1/manifests"},{"name":"10.0.0-next.0","sha":"db4a4484398ce8b4e1186a82fe8dd6a7cff4f373","kind":"commit","published_at":"2020-04-08T18:08:01.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/10.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/10.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/10.0.0-next.0/manifests"},{"name":"9.1.1","sha":"b99e539b0e5667403f9285f26483cf6f427ff30b","kind":"commit","published_at":"2020-04-07T22:48:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.1","html_url":"https://github.com/angular/angular/releases/tag/9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.1/manifests"},{"name":"9.1.0","sha":"b6bd8d757275492051c95a07ca20957652cb7b20","kind":"commit","published_at":"2020-03-25T16:23:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0","html_url":"https://github.com/angular/angular/releases/tag/9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0/manifests"},{"name":"9.1.0-rc.2","sha":"b08168bb90d7b85a7e5519056973510b608be4e9","kind":"commit","published_at":"2020-03-24T22:50:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/9.1.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-rc.2/manifests"},{"name":"9.1.0-rc.1","sha":"5357e643b383018fcd57057ce8476c769d58fcee","kind":"commit","published_at":"2020-03-23T20:01:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/9.1.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-rc.1/manifests"},{"name":"9.1.0-rc.0","sha":"b4972fa1656101c02c92ddbf247db6e0de139937","kind":"commit","published_at":"2020-03-19T19:44:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/9.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-rc.0/manifests"},{"name":"9.1.0-next.5","sha":"c1a0f0617cec34da9f1580c1208831b8edbb89b9","kind":"commit","published_at":"2020-03-18T20:56:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/9.1.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.5/manifests"},{"name":"9.0.7","sha":"a90e82db3e9dd7a3c57df9d217aa0b31184e5d38","kind":"commit","published_at":"2020-03-18T20:33:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.7","html_url":"https://github.com/angular/angular/releases/tag/9.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.7/manifests"},{"name":"zone.js-0.10.3","sha":"e552591768d73afcbbab439663074c14bc91b199","kind":"commit","published_at":"2020-03-16T22:49:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.10.3","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.10.3/manifests"},{"name":"9.0.6","sha":"ecac8c032b5de746051d578f5c632120ab71f8e9","kind":"commit","published_at":"2020-03-11T00:32:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.6","html_url":"https://github.com/angular/angular/releases/tag/9.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.6/manifests"},{"name":"9.1.0-next.4","sha":"5cb082ed5380b4b12778e08d706339d2e54a2ce4","kind":"commit","published_at":"2020-03-11T00:07:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/9.1.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.4/manifests"},{"name":"9.1.0-next.3","sha":"2ca6435e0f24f6d71a5ef1ef99a9a47d63372590","kind":"commit","published_at":"2020-03-04T19:34:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/9.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.3/manifests"},{"name":"9.0.5","sha":"9de9227de30425f6780671ba34126e7505296458","kind":"commit","published_at":"2020-03-04T19:12:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.5","html_url":"https://github.com/angular/angular/releases/tag/9.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.5/manifests"},{"name":"9.0.4","sha":"d06b6de409609edce1af0acabb9586da1eda128a","kind":"commit","published_at":"2020-02-27T21:42:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.4","html_url":"https://github.com/angular/angular/releases/tag/9.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.4/manifests"},{"name":"9.1.0-next.2","sha":"d3c0d92d283ea3c4820597920b936d8b3083a8f8","kind":"commit","published_at":"2020-02-27T05:02:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/9.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.2/manifests"},{"name":"9.0.3","sha":"c78df781f79132ce555cdc697ad5439d7c94b69e","kind":"commit","published_at":"2020-02-27T04:37:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.3","html_url":"https://github.com/angular/angular/releases/tag/9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.3/manifests"},{"name":"9.1.0-next.1","sha":"675b5aca0e9599eb4cc89b4120bda57acfb9b007","kind":"commit","published_at":"2020-02-19T20:15:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/9.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.1/manifests"},{"name":"9.0.2","sha":"5edeee69dd0a7ffff0790d6f817c95f58914996d","kind":"commit","published_at":"2020-02-19T19:18:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.2","html_url":"https://github.com/angular/angular/releases/tag/9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.2/manifests"},{"name":"9.1.0-next.0","sha":"3bf3e5d7609d61c5a5267be873178fd6e7ff0400","kind":"commit","published_at":"2020-02-13T00:17:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.1.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/9.1.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.1.0-next.0/manifests"},{"name":"9.0.1","sha":"c3b5ce4bb27e964d1a9472a3b9d82d172c038872","kind":"commit","published_at":"2020-02-12T18:35:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.1","html_url":"https://github.com/angular/angular/releases/tag/9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.1/manifests"},{"name":"9.0.0","sha":"b72fce8acf01639438df5ef92473e088f35e2e94","kind":"commit","published_at":"2020-02-06T16:50:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0","html_url":"https://github.com/angular/angular/releases/tag/9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0/manifests"},{"name":"9.0.0-rc.14","sha":"152eec5543096d08a75d9e5e4161eb6c696a0d5e","kind":"commit","published_at":"2020-02-03T23:06:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.14","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.14/manifests"},{"name":"9.0.0-rc.13","sha":"ab125299418f3f1579c8bcbcd145accf29d2f2a2","kind":"commit","published_at":"2020-02-01T02:27:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.13","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.13/manifests"},{"name":"9.0.0-rc.12","sha":"9fb11a80701c07bf23add629fd2d06515706a7d5","kind":"commit","published_at":"2020-01-30T21:42:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.12","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.12/manifests"},{"name":"9.0.0-rc.11","sha":"b890d10fc6308fc1d31cf0db9d66f0a0aad723fb","kind":"commit","published_at":"2020-01-24T23:29:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.11","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.11/manifests"},{"name":"9.0.0-rc.10","sha":"a651fb98c54ea6673774f3abb352e72237025a5e","kind":"commit","published_at":"2020-01-22T17:40:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.10","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.10/manifests"},{"name":"9.0.0-rc.9","sha":"b6bc3887f0a890dee4e697407026c0e312b4f5dc","kind":"commit","published_at":"2020-01-15T17:21:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.9","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.9/manifests"},{"name":"9.0.0-rc.8","sha":"186d310f6b9872c3a4c944dc414bc90cc7fc1c6a","kind":"commit","published_at":"2020-01-08T22:09:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.8","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.8/manifests"},{"name":"7.2.16","sha":"a3dac6f8f0994a67af6b9dbe479769d12eecf923","kind":"commit","published_at":"2020-01-08T20:04:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.16","html_url":"https://github.com/angular/angular/releases/tag/7.2.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.16/manifests"},{"name":"9.0.0-rc.7","sha":"6c33b7040de8f25ee6f1b3c43d6f667ad3079b7c","kind":"commit","published_at":"2019-12-18T23:21:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.7","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.7/manifests"},{"name":"9.0.0-rc.6","sha":"184b83911c2c7c173bff23e2697f68f7e61e4146","kind":"commit","published_at":"2019-12-11T18:52:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.6","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.6/manifests"},{"name":"9.0.0-rc.5","sha":"848018f5d31e599996f1bd7d4d9138c35b4350cd","kind":"commit","published_at":"2019-12-04T18:48:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.5","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.5/manifests"},{"name":"9.0.0-rc.4","sha":"7385e9d06debf1bbe00d8dad91258e8881811b0b","kind":"commit","published_at":"2019-11-27T23:02:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.4","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.4/manifests"},{"name":"9.0.0-rc.3","sha":"7c7d432085c4645fa66b708ce9ed880a3b4bff91","kind":"commit","published_at":"2019-11-20T22:18:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.3/manifests"},{"name":"9.0.0-rc.2","sha":"5ad1e5f5ecd57d34317c9af3c32c55e7672a93f2","kind":"commit","published_at":"2019-11-13T20:49:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.2/manifests"},{"name":"8.2.14","sha":"bbeac0727b8f267a47aba1ff1bcfc8cc5ca15b61","kind":"commit","published_at":"2019-11-13T20:21:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.14","html_url":"https://github.com/angular/angular/releases/tag/8.2.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.14/manifests"},{"name":"9.0.0-rc.1","sha":"55b1b7745bc845c79800bda6c336a88f5f5627df","kind":"commit","published_at":"2019-11-06T21:49:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.1/manifests"},{"name":"9.0.0-rc.0","sha":"2b1ba1835e7080157d7cd909ee3ca4e04ca41ae1","kind":"commit","published_at":"2019-10-31T20:26:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-rc.0/manifests"},{"name":"9.0.0-next.15","sha":"2eed7e33ef47f9cf8294e6111f2c3f5d6472b6de","kind":"commit","published_at":"2019-10-30T21:47:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.15","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.15/manifests"},{"name":"8.2.13","sha":"8bce694c2f658afc283e26f8adad7f8776e36728","kind":"commit","published_at":"2019-10-30T21:03:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.13","html_url":"https://github.com/angular/angular/releases/tag/8.2.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.13/manifests"},{"name":"9.0.0-next.14","sha":"26f44c0d6bc966fe6953693741e061257f5c038a","kind":"commit","published_at":"2019-10-25T21:58:01.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.14","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.14/manifests"},{"name":"9.0.0-next.13","sha":"0e9140c7389d13d9007e7557b2f22d0c2303a9ae","kind":"commit","published_at":"2019-10-23T23:00:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.13","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.13/manifests"},{"name":"8.2.12","sha":"663aba57755495c9e72cf2c8c1dc8366e4915968","kind":"commit","published_at":"2019-10-23T22:00:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.12","html_url":"https://github.com/angular/angular/releases/tag/8.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.12/manifests"},{"name":"9.0.0-next.12","sha":"cb4f8032386b3315cbc70fd91530eb91ffe55156","kind":"commit","published_at":"2019-10-18T20:04:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.12","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.12/manifests"},{"name":"9.0.0-next.11","sha":"4198ea7ca6a037eacb5d5d923c4815057fe5806e","kind":"commit","published_at":"2019-10-15T22:39:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.11","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.11/manifests"},{"name":"8.2.11","sha":"8bc2f0647b5380f7030b4607613abc6ef8dc0aab","kind":"commit","published_at":"2019-10-15T22:15:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.11","html_url":"https://github.com/angular/angular/releases/tag/8.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.11/manifests"},{"name":"9.0.0-next.10","sha":"6028159dfbced2d3bcdb515905fe2ae816cc9d9e","kind":"commit","published_at":"2019-10-09T21:43:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.10","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.10/manifests"},{"name":"8.2.10","sha":"362b3e4d03f1ba222e3dd2002a4b85a104453159","kind":"commit","published_at":"2019-10-09T20:55:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.10","html_url":"https://github.com/angular/angular/releases/tag/8.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.10/manifests"},{"name":"9.0.0-next.9","sha":"27297472255c46fc85fcf86d6892fc0a3174c5ca","kind":"commit","published_at":"2019-10-02T18:43:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.9","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.9/manifests"},{"name":"8.2.9","sha":"11d3b19b329bf22481da88c60abda830d8505be3","kind":"commit","published_at":"2019-10-02T18:15:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.9","html_url":"https://github.com/angular/angular/releases/tag/8.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.9/manifests"},{"name":"9.0.0-next.8","sha":"8da26d9de9c6b6b726080ee5bc0d0c5e847ae023","kind":"commit","published_at":"2019-09-25T17:38:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.8","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.8/manifests"},{"name":"8.2.8","sha":"78de6211e3566fff71c1f29175106271219a1487","kind":"commit","published_at":"2019-09-25T17:08:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.8","html_url":"https://github.com/angular/angular/releases/tag/8.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.8/manifests"},{"name":"9.0.0-next.7","sha":"ab29874f09463e634b6aa8ec61fb1f607e108e2f","kind":"commit","published_at":"2019-09-18T17:38:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.7/manifests"},{"name":"8.2.7","sha":"da5d91b97bb98ba8c376f3ef6b2e76d013ce30a3","kind":"commit","published_at":"2019-09-18T17:01:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.7","html_url":"https://github.com/angular/angular/releases/tag/8.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.7/manifests"},{"name":"9.0.0-next.6","sha":"55b55e7c977df097e225eb468aed12be2efcb602","kind":"commit","published_at":"2019-09-11T20:02:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.6/manifests"},{"name":"8.2.6","sha":"d8675c7e72f815acf56b108b482c0b07df3be8a8","kind":"commit","published_at":"2019-09-11T19:41:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.6","html_url":"https://github.com/angular/angular/releases/tag/8.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.6/manifests"},{"name":"9.0.0-next.5","sha":"4b037abda46851b86799b052c1436aab901d97ca","kind":"commit","published_at":"2019-09-04T22:26:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.5/manifests"},{"name":"8.2.5","sha":"2b7116a4f3311238d2a5974f0b641048b7aae91d","kind":"commit","published_at":"2019-09-04T21:57:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.5","html_url":"https://github.com/angular/angular/releases/tag/8.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.5/manifests"},{"name":"9.0.0-next.4","sha":"98420c27de149c94af0b69335876b1ea8e7b295e","kind":"commit","published_at":"2019-08-28T19:06:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.4/manifests"},{"name":"8.2.4","sha":"c9ce735675f0c64f0c06b68b494fad6e083d724e","kind":"commit","published_at":"2019-08-28T18:00:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.4","html_url":"https://github.com/angular/angular/releases/tag/8.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.4/manifests"},{"name":"9.0.0-next.3","sha":"0b009f06a924a124bd722acbbe637b29246eb3c4","kind":"commit","published_at":"2019-08-21T21:03:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.3/manifests"},{"name":"8.2.3","sha":"31e8a527228ce8b5a9b405f9acc324fda99fb571","kind":"commit","published_at":"2019-08-21T20:28:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.3","html_url":"https://github.com/angular/angular/releases/tag/8.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.3/manifests"},{"name":"zone.js-0.10.2","sha":"cda205deb4d4f3a9ff64ff83e5160e4f8efc1418","kind":"commit","published_at":"2019-08-13T23:55:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.10.2","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.10.2/manifests"},{"name":"9.0.0-next.2","sha":"9406104c0a8d4fc4b60923c46d64192c8c5fadfc","kind":"commit","published_at":"2019-08-12T20:46:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.2/manifests"},{"name":"8.2.2","sha":"033fc3e6e54372475245fbb93fabfdef61249106","kind":"commit","published_at":"2019-08-12T20:19:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.2","html_url":"https://github.com/angular/angular/releases/tag/8.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.2/manifests"},{"name":"9.0.0-next.1","sha":"2abbe98e337fecabedb17e09d612bf0db760ed94","kind":"commit","published_at":"2019-08-08T21:03:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.1/manifests"},{"name":"8.2.1","sha":"1b0bd6b706f7bba216906cb89c0f44da777dd77b","kind":"commit","published_at":"2019-08-08T20:42:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.1","html_url":"https://github.com/angular/angular/releases/tag/8.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.1/manifests"},{"name":"zone.js-0.10.1","sha":"2a6e6c02eddf1bf58ee5be15d4439f7532ddefa0","kind":"commit","published_at":"2019-08-02T21:28:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.10.1","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.10.1/manifests"},{"name":"9.0.0-next.0","sha":"76503e65c86f14ab228a75525cde0c123170b988","kind":"commit","published_at":"2019-07-31T18:04:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/9.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/9.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/9.0.0-next.0/manifests"},{"name":"8.2.0","sha":"b667bd2224064f4d53518fec96f9cc3b6ac49817","kind":"commit","published_at":"2019-07-31T17:25:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.0","html_url":"https://github.com/angular/angular/releases/tag/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0/manifests"},{"name":"8.1.3","sha":"d63beb19707109b2c3e16978ce764375fc6cafec","kind":"commit","published_at":"2019-07-30T19:38:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.1.3","html_url":"https://github.com/angular/angular/releases/tag/8.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.3/manifests"},{"name":"zone.js-0.10.0","sha":"30673090ece39c22b1f7044027b3f3e8b8a10293","kind":"commit","published_at":"2019-07-26T18:30:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.10.0","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.10.0/manifests"},{"name":"8.2.0-rc.0","sha":"7a62530ed10fbecac84c0880b86b196617c5addd","kind":"commit","published_at":"2019-07-26T17:20:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/8.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0-rc.0/manifests"},{"name":"8.2.0-next.2","sha":"e8ae3c5f2efe01acee894f3ea094544689310066","kind":"commit","published_at":"2019-07-17T21:16:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/8.2.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0-next.2/manifests"},{"name":"8.1.2","sha":"ca77d1ca902f4df5ba3cc14d80ba705c26aaef09","kind":"commit","published_at":"2019-07-17T19:03:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.1.2","html_url":"https://github.com/angular/angular/releases/tag/8.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.2/manifests"},{"name":"8.2.0-next.1","sha":"524180c27101a580205f69ac8870c1d881ceec5e","kind":"commit","published_at":"2019-07-10T17:32:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/8.2.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0-next.1/manifests"},{"name":"8.1.1","sha":"e9faf8c78beba95a874819a4a44e91a505a42255","kind":"commit","published_at":"2019-07-10T16:51:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.1.1","html_url":"https://github.com/angular/angular/releases/tag/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.1/manifests"},{"name":"8.2.0-next.0","sha":"1efaac5cb0cb65ee65660f9261e757fbc6e5ddaf","kind":"commit","published_at":"2019-07-02T21:14:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/8.2.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.2.0-next.0/manifests"},{"name":"8.1.0","sha":"1033a0285b42b4894ec6631b1c53329ae4296427","kind":"commit","published_at":"2019-07-02T20:44:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.1.0","html_url":"https://github.com/angular/angular/releases/tag/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0/manifests"},{"name":"8.1.0-rc.0","sha":"641a4ea763e9eb2d41e5225a1c554802668a470b","kind":"commit","published_at":"2019-06-26T21:06:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/8.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-rc.0/manifests"},{"name":"8.0.3","sha":"9b812dc729b39852451230f0f187c2baae0ffa7c","kind":"commit","published_at":"2019-06-26T20:41:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.3","html_url":"https://github.com/angular/angular/releases/tag/8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.3/manifests"},{"name":"zone.js-0.9.2","sha":"5eb7426216b1597cca3a7923cc714e59464fec89","kind":"commit","published_at":"2019-06-20T18:27:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.9.2","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.9.2/manifests"},{"name":"8.1.0-next.3","sha":"7814ef55c5e91085820555a998e6901f917fe892","kind":"commit","published_at":"2019-06-19T17:57:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.1.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/8.1.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-next.3/manifests"},{"name":"8.0.2","sha":"a73b8a62c86da396ce602215241d7eef8ffd40ae","kind":"commit","published_at":"2019-06-19T17:33:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.2","html_url":"https://github.com/angular/angular/releases/tag/8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.2/manifests"},{"name":"8.1.0-next.2","sha":"2c78da00aee2f75109891a6613de4f9311b21cf9","kind":"commit","published_at":"2019-06-13T22:47:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.1.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/8.1.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-next.2/manifests"},{"name":"8.0.1","sha":"e1f6d1538784eb87f7497bef27e3c313184c2d30","kind":"commit","published_at":"2019-06-13T22:22:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.1","html_url":"https://github.com/angular/angular/releases/tag/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.1/manifests"},{"name":"8.1.0-next.1","sha":"540b01402f53f7cd9bff42ee6d53c7f110a7f2e7","kind":"commit","published_at":"2019-06-05T19:27:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.1.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/8.1.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-next.1/manifests"},{"name":"8.1.0-beta.0","sha":"282abdb02d758f861eefd0d11f1fa9a63a873e4a","kind":"commit","published_at":"2019-05-30T21:31:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.1.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/8.1.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.1.0-beta.0/manifests"},{"name":"8.0.0","sha":"38a7e2a775d2c3495a8574dde7d1a7106dd0ae04","kind":"commit","published_at":"2019-05-28T17:14:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0","html_url":"https://github.com/angular/angular/releases/tag/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0/manifests"},{"name":"8.0.0-rc.5","sha":"d135bb5e6ee665bbc4527ab6789b4a768ff1825b","kind":"commit","published_at":"2019-05-24T05:32:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-rc.5","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-rc.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.5/manifests"},{"name":"8.0.0-rc.4","sha":"b6aa99d3a7042856e00bc0ba98945c5122ed73de","kind":"commit","published_at":"2019-05-15T19:19:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-rc.4","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.4/manifests"},{"name":"8.0.0-rc.3","sha":"b8cbcbcf49e3bd3bca268a8f7491b0ca387e125b","kind":"commit","published_at":"2019-05-07T21:30:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.3/manifests"},{"name":"7.2.15","sha":"51955bf6205272b1d2b98ff5b6dafd3823039ae2","kind":"commit","published_at":"2019-05-07T21:00:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.15","html_url":"https://github.com/angular/angular/releases/tag/7.2.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.15/manifests"},{"name":"8.0.0-rc.2","sha":"9798229fdec35da54bb6e841061256c812cbea5f","kind":"commit","published_at":"2019-04-29T19:03:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.2/manifests"},{"name":"8.0.0-rc.1","sha":"0776daec8870e848c3d7955dabeea1bdf757fd67","kind":"commit","published_at":"2019-04-26T20:28:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.1/manifests"},{"name":"8.0.0-rc.0","sha":"a03a9236f2aed5d00012d25f032aa43a046d91da","kind":"commit","published_at":"2019-04-25T23:05:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-rc.0/manifests"},{"name":"8.0.0-beta.14","sha":"230e32905ca38a8f23d0e7d24f4bf90da94b4c68","kind":"commit","published_at":"2019-04-23T20:25:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.14","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.14/manifests"},{"name":"7.2.14","sha":"769c132d224f5cec254df34dfb337b9946d63854","kind":"commit","published_at":"2019-04-23T20:10:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.14","html_url":"https://github.com/angular/angular/releases/tag/7.2.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.14/manifests"},{"name":"8.0.0-beta.13","sha":"ab6036272c5f47cf5b268864471295d67b83ac3a","kind":"commit","published_at":"2019-04-16T22:18:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.13","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.13/manifests"},{"name":"8.0.0-beta.12","sha":"e2e637d70abb9e5369e0af5176dbecff36e326f2","kind":"commit","published_at":"2019-04-13T00:48:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.12","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.12/manifests"},{"name":"7.2.13","sha":"3e992e18ebf51d6036818f26c3d77b52d3ec48eb","kind":"commit","published_at":"2019-04-12T18:51:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.13","html_url":"https://github.com/angular/angular/releases/tag/7.2.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.13/manifests"},{"name":"8.0.0-beta.11","sha":"0a530e6b472681f0cbddbf3b062ef4093ede6359","kind":"commit","published_at":"2019-04-03T22:02:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.11","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.11/manifests"},{"name":"7.2.12","sha":"a14dc2d7a4821a19f20a9547053a5734798f541e","kind":"commit","published_at":"2019-04-03T20:27:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.12","html_url":"https://github.com/angular/angular/releases/tag/7.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.12/manifests"},{"name":"8.0.0-beta.10","sha":"495a4c1754cfcbe2eaf866bad1cc794bf81b2ac2","kind":"commit","published_at":"2019-03-26T22:47:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.10","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.10/manifests"},{"name":"7.2.11","sha":"cfae2c27cb25f59b16691abac0bc690117403f26","kind":"commit","published_at":"2019-03-26T22:30:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.11","html_url":"https://github.com/angular/angular/releases/tag/7.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.11/manifests"},{"name":"7.2.10","sha":"388c1a36384ea0c2abfd6b0509de6fd52936c699","kind":"commit","published_at":"2019-03-20T00:46:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.10","html_url":"https://github.com/angular/angular/releases/tag/7.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.10/manifests"},{"name":"8.0.0-beta.9","sha":"20bf4ca382595237ee2abe3d121f6e1e013b4f83","kind":"commit","published_at":"2019-03-20T00:22:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.9","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.9/manifests"},{"name":"8.0.0-beta.8","sha":"ec01594e975c2d05409afa65dd77e2696d671271","kind":"commit","published_at":"2019-03-13T00:00:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.8","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.8/manifests"},{"name":"7.2.9","sha":"5abb9360d822ad98a7905d11ff89e42e80050c6a","kind":"commit","published_at":"2019-03-12T23:36:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.9","html_url":"https://github.com/angular/angular/releases/tag/7.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.9/manifests"},{"name":"8.0.0-beta.7","sha":"9c1ced102e38a759df1a8bc5da88d828353e9da2","kind":"commit","published_at":"2019-03-06T18:32:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.7","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.7/manifests"},{"name":"7.2.8","sha":"903d28fe86744159582b738cb41e453ec21095c9","kind":"commit","published_at":"2019-03-06T17:58:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.8","html_url":"https://github.com/angular/angular/releases/tag/7.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.8/manifests"},{"name":"8.0.0-beta.6","sha":"f3802633937f800ed2993422ce6e0c7d9b5602ce","kind":"commit","published_at":"2019-02-27T00:37:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.6","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.6/manifests"},{"name":"7.2.7","sha":"cb339b87f378f2d8e917608566514908e208676e","kind":"commit","published_at":"2019-02-27T00:20:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.7","html_url":"https://github.com/angular/angular/releases/tag/7.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.7/manifests"},{"name":"8.0.0-beta.5","sha":"09d894c283e0023e9d9fccc88bb8284db205aa1a","kind":"commit","published_at":"2019-02-20T21:24:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.5","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.5/manifests"},{"name":"7.2.6","sha":"81671cea9a2ca677dfcf433b6f3e5a27da944f6e","kind":"commit","published_at":"2019-02-20T20:15:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.6","html_url":"https://github.com/angular/angular/releases/tag/7.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.6/manifests"},{"name":"8.0.0-beta.4","sha":"6fcf286344c98ae33ddac24e702a3bbecf4e1ee3","kind":"commit","published_at":"2019-02-15T22:28:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.4","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.4/manifests"},{"name":"7.2.5","sha":"a2ba4448dac2c62654293dfb39242ac46579cbf3","kind":"commit","published_at":"2019-02-15T21:13:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.5","html_url":"https://github.com/angular/angular/releases/tag/7.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.5/manifests"},{"name":"8.0.0-beta.3","sha":"4ceb655c119dc99fea92cd2a5d0a71285c79e976","kind":"commit","published_at":"2019-02-06T04:02:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.3","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.3/manifests"},{"name":"7.2.4","sha":"74c202a5cdf89b3ce4e12be8b42429e266978323","kind":"commit","published_at":"2019-02-06T03:39:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.4","html_url":"https://github.com/angular/angular/releases/tag/7.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.4/manifests"},{"name":"8.0.0-beta.2","sha":"a9c881e243fee5c35d382755b1d381b932b6782a","kind":"commit","published_at":"2019-01-30T20:10:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.2/manifests"},{"name":"7.2.3","sha":"0f37ed10601a7be57d02926b9e1854b134f59328","kind":"commit","published_at":"2019-01-30T19:42:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.3","html_url":"https://github.com/angular/angular/releases/tag/7.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.3/manifests"},{"name":"8.0.0-beta.1","sha":"8f1198ffcdce12e39f653084f895e1488149e5ce","kind":"commit","published_at":"2019-01-22T23:58:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.1/manifests"},{"name":"7.2.2","sha":"5c5fe34241947e8b583c790d4b7354180171e721","kind":"commit","published_at":"2019-01-22T23:27:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.2","html_url":"https://github.com/angular/angular/releases/tag/7.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.2/manifests"},{"name":"ngcontainer_0.9.0","sha":"3ff4f27901ad891065927f672e9a06ba6fbe4a1d","kind":"tag","published_at":"2019-01-18T23:53:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/ngcontainer_0.9.0","html_url":"https://github.com/angular/angular/releases/tag/ngcontainer_0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.9.0/manifests"},{"name":"8.0.0-beta.0","sha":"e7d5c12ea49750d7296d240accd29c19c3c635dd","kind":"commit","published_at":"2019-01-16T22:06:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/8.0.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/8.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/8.0.0-beta.0/manifests"},{"name":"7.2.1","sha":"05168395b0829b039125b2e13d6ece78b7787395","kind":"commit","published_at":"2019-01-16T21:23:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.1","html_url":"https://github.com/angular/angular/releases/tag/7.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.1/manifests"},{"name":"7.2.0","sha":"0efbb3738127eb73369679353073eaec952f3dc0","kind":"commit","published_at":"2019-01-07T15:37:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.0","html_url":"https://github.com/angular/angular/releases/tag/7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0/manifests"},{"name":"7.2.0-rc.0","sha":"f48a00fb0cea4dab6440714a83e4b967cc8822a0","kind":"commit","published_at":"2018-12-19T00:00:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/7.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0-rc.0/manifests"},{"name":"7.1.4","sha":"395f9cd8d296e062b35af8bf3b8a5af7de41edab","kind":"commit","published_at":"2018-12-18T23:32:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.1.4","html_url":"https://github.com/angular/angular/releases/tag/7.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.4/manifests"},{"name":"7.2.0-beta.2","sha":"b69ec48d7759fda9a06c8da96c15f7293d711160","kind":"commit","published_at":"2018-12-11T21:49:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/7.2.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0-beta.2/manifests"},{"name":"7.1.3","sha":"5452889aa61a9963f443302d93d8af6c4131aa10","kind":"commit","published_at":"2018-12-11T21:31:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.1.3","html_url":"https://github.com/angular/angular/releases/tag/7.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.3/manifests"},{"name":"7.1.2","sha":"11d2a8cc81705e4c47656e50c8259f3e029f1589","kind":"commit","published_at":"2018-12-06T23:08:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.1.2","html_url":"https://github.com/angular/angular/releases/tag/7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.2/manifests"},{"name":"7.2.0-beta.1","sha":"7a6eb9de4637224a7068a5c50b4e6a27d0a78c3c","kind":"commit","published_at":"2018-12-06T22:46:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/7.2.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0-beta.1/manifests"},{"name":"7.2.0-beta.0","sha":"57e1576ff4b021f877d225a5d3acb90113889425","kind":"commit","published_at":"2018-11-28T18:55:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.2.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/7.2.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.2.0-beta.0/manifests"},{"name":"7.1.1","sha":"8282e15c2becbe42a49befa07d6407247e8243d8","kind":"commit","published_at":"2018-11-28T18:09:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.1.1","html_url":"https://github.com/angular/angular/releases/tag/7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.1/manifests"},{"name":"7.1.0","sha":"bf71b107b3227e183f96b991700fbaeb8337ef2f","kind":"commit","published_at":"2018-11-21T22:57:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.1.0","html_url":"https://github.com/angular/angular/releases/tag/7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0/manifests"},{"name":"7.1.0-rc.0","sha":"92b05652b2f75768016ef05f702b31d1588a5fd3","kind":"commit","published_at":"2018-11-14T22:27:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/7.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0-rc.0/manifests"},{"name":"7.0.4","sha":"0e95a20576536111a5f8406b3f4655f8561c416c","kind":"commit","published_at":"2018-11-14T21:48:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.4","html_url":"https://github.com/angular/angular/releases/tag/7.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.4/manifests"},{"name":"7.1.0-beta.2","sha":"ff2ee644b4709268f79d221378378891305e49e8","kind":"commit","published_at":"2018-11-07T20:23:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.1.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/7.1.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0-beta.2/manifests"},{"name":"7.0.3","sha":"926367150afa9138eb6f469dd111112339a07784","kind":"commit","published_at":"2018-11-07T19:56:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.3","html_url":"https://github.com/angular/angular/releases/tag/7.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.3/manifests"},{"name":"7.1.0-beta.1","sha":"ad6771dcd430bb59b2e07ada39308a3780b78445","kind":"commit","published_at":"2018-10-31T23:34:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.1.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/7.1.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0-beta.1/manifests"},{"name":"7.0.2","sha":"77f531b6f7c1c1d9f5a9efb611c8b8399d01722e","kind":"commit","published_at":"2018-10-31T23:05:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.2","html_url":"https://github.com/angular/angular/releases/tag/7.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.2/manifests"},{"name":"7.1.0-beta.0","sha":"67789f10ef65aa0791e6c64506ba8f0d7f1add1c","kind":"commit","published_at":"2018-10-24T21:47:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.1.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/7.1.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.1.0-beta.0/manifests"},{"name":"7.0.1","sha":"d0f2bae62b95a5c6b99b74d4996d584aa6729e79","kind":"commit","published_at":"2018-10-24T21:07:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.1","html_url":"https://github.com/angular/angular/releases/tag/7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.1/manifests"},{"name":"7.0.0","sha":"bf656d64b8fc66ad2a39dccdee59f993a6c202ed","kind":"commit","published_at":"2018-10-18T17:50:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0","html_url":"https://github.com/angular/angular/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0/manifests"},{"name":"7.0.0-rc.1","sha":"7acdad692176fa776f24efc3b0e8f0b0c909083d","kind":"commit","published_at":"2018-10-10T22:04:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-rc.1/manifests"},{"name":"6.1.10","sha":"c9488b543251980c96c7384f69042d958bde1bae","kind":"commit","published_at":"2018-10-10T18:23:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.10","html_url":"https://github.com/angular/angular/releases/tag/6.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.10/manifests"},{"name":"7.0.0-rc.0","sha":"2ad1bb4eb905b7d4982e6f82eb17da8d860a67e2","kind":"commit","published_at":"2018-09-28T22:14:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-rc.0/manifests"},{"name":"7.0.0-beta.7","sha":"4cff5b2964fe55c6c0d87aff381cfc8430917181","kind":"commit","published_at":"2018-09-26T22:07:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-beta.7","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.7/manifests"},{"name":"6.1.9","sha":"acffa22a35859df8105733edb990f1a8406c4387","kind":"commit","published_at":"2018-09-26T19:02:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.9","html_url":"https://github.com/angular/angular/releases/tag/6.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.9/manifests"},{"name":"7.0.0-beta.6","sha":"ca1e56dc8b5d4834cd3730e0e37ee61ac1564d33","kind":"commit","published_at":"2018-09-19T21:30:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-beta.6","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.6/manifests"},{"name":"6.1.8","sha":"3988ebf432ec33a7bf7126c7e9ad09d69d0c2501","kind":"commit","published_at":"2018-09-19T21:07:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.8","html_url":"https://github.com/angular/angular/releases/tag/6.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.8/manifests"},{"name":"7.0.0-beta.5","sha":"268e9772d501054ee8e2a2e815271bc6a17afad9","kind":"commit","published_at":"2018-09-06T04:22:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-beta.5","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.5/manifests"},{"name":"6.1.7","sha":"815d1ffa19d7605e36300fa6733d8ea036f8f503","kind":"commit","published_at":"2018-09-06T03:49:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.7","html_url":"https://github.com/angular/angular/releases/tag/6.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.7/manifests"},{"name":"ngcontainer_0.5.0","sha":"5cbcfd20d217b3ad67be83e24540741266382eda","kind":"tag","published_at":"2018-09-05T19:36:01.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/ngcontainer_0.5.0","html_url":"https://github.com/angular/angular/releases/tag/ngcontainer_0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.5.0/manifests"},{"name":"7.0.0-beta.4","sha":"dd2a650c3455f3bc0a88f8181758a84aacb25fea","kind":"commit","published_at":"2018-08-29T23:20:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-beta.4","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.4/manifests"},{"name":"6.1.6","sha":"4a8d56a8206ffa5d0e38ce28f9cb21d0e70df0af","kind":"commit","published_at":"2018-08-29T22:38:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.6","html_url":"https://github.com/angular/angular/releases/tag/6.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.6/manifests"},{"name":"6.1.5","sha":"7f8d6c1066651022a7d774784d62b97990fb72c6","kind":"commit","published_at":"2018-08-29T04:39:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.5","html_url":"https://github.com/angular/angular/releases/tag/6.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.5/manifests"},{"name":"7.0.0-beta.3","sha":"94332affd37807e15a31f5b26c8f4a984c34dcc9","kind":"commit","published_at":"2018-08-22T22:49:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-beta.3","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.3/manifests"},{"name":"6.1.4","sha":"8de57c9887110ab3c6f91d83adb7520e74d4ec50","kind":"commit","published_at":"2018-08-22T22:05:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.4","html_url":"https://github.com/angular/angular/releases/tag/6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.4/manifests"},{"name":"7.0.0-beta.2","sha":"4ce70b9edf9a1a81bd4a3a27d019567e7bfdc03e","kind":"commit","published_at":"2018-08-15T22:35:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.2/manifests"},{"name":"6.1.3","sha":"ea83445149fda9c120199c534d126ac2a65ca80b","kind":"commit","published_at":"2018-08-15T21:28:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.3","html_url":"https://github.com/angular/angular/releases/tag/6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.3/manifests"},{"name":"patch_sync","sha":"36c804bfce02076aade99441994f12c9fff8e557","kind":"tag","published_at":"2018-08-15T17:16:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/patch_sync","html_url":"https://github.com/angular/angular/releases/tag/patch_sync","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/patch_sync","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/patch_sync/manifests"},{"name":"7.0.0-beta.1","sha":"a2593cbfb1d0da1b9e86f77a1800ee6c497a1aa2","kind":"commit","published_at":"2018-08-08T19:28:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.1/manifests"},{"name":"6.1.2","sha":"3beb7116afeb1c7899804f43b8cb78e374d1d5a8","kind":"commit","published_at":"2018-08-08T18:00:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.2","html_url":"https://github.com/angular/angular/releases/tag/6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.2/manifests"},{"name":"ngcontainer_0.4.0","sha":"97e6f4da5bc39dd11d1ff2ba0b22ce96c67efe87","kind":"tag","published_at":"2018-08-06T00:26:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/ngcontainer_0.4.0","html_url":"https://github.com/angular/angular/releases/tag/ngcontainer_0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.4.0/manifests"},{"name":"6.1.1","sha":"58698d78066bd9f7c61b7cdce47a05e90ee87435","kind":"commit","published_at":"2018-08-02T21:02:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.1","html_url":"https://github.com/angular/angular/releases/tag/6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.1/manifests"},{"name":"7.0.0-beta.0","sha":"6bacd32fbd26952231d6c4ae9b654703dae22cfd","kind":"commit","published_at":"2018-08-02T18:42:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/7.0.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/7.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/7.0.0-beta.0/manifests"},{"name":"6.1.0","sha":"48d7205873f13c9a8ea417364d59e23b46478c79","kind":"commit","published_at":"2018-07-25T21:23:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.0","html_url":"https://github.com/angular/angular/releases/tag/6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0/manifests"},{"name":"6.1.0-rc.3","sha":"f9669e50ff08cd39f0826f6e608b091996f03031","kind":"commit","published_at":"2018-07-19T22:45:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/6.1.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-rc.3/manifests"},{"name":"6.0.9","sha":"9e4558908533d3ef3e3b741844a802fd7bdc8766","kind":"commit","published_at":"2018-07-11T21:34:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.9","html_url":"https://github.com/angular/angular/releases/tag/6.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.9/manifests"},{"name":"6.1.0-rc.0","sha":"5bd3916608fb7d370a0627bd96bf6b5930ec3cf7","kind":"commit","published_at":"2018-07-11T21:20:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/6.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-rc.0/manifests"},{"name":"6.0.8","sha":"024aba075cefaa1a247f135eced8f06fd1a59af4","kind":"commit","published_at":"2018-07-11T20:43:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.8","html_url":"https://github.com/angular/angular/releases/tag/6.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.8/manifests"},{"name":"ngcontainer_0.3.3","sha":"29782767c39de926e01edb04aaf719a892d6fd11","kind":"tag","published_at":"2018-07-10T22:18:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/ngcontainer_0.3.3","html_url":"https://github.com/angular/angular/releases/tag/ngcontainer_0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.3.3/manifests"},{"name":"6.1.0-beta.3","sha":"c57b491778fbe5dc14315bbcc3c3867227ae9894","kind":"commit","published_at":"2018-06-28T01:12:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.0-beta.3","html_url":"https://github.com/angular/angular/releases/tag/6.1.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-beta.3/manifests"},{"name":"6.0.7","sha":"2880cf9ef16cf5fd495d240cf1821212ae178d05","kind":"commit","published_at":"2018-06-27T23:54:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.7","html_url":"https://github.com/angular/angular/releases/tag/6.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.7/manifests"},{"name":"6.1.0-beta.2","sha":"def354de167c44f5bbac470f9a0f2ae7271e1c28","kind":"commit","published_at":"2018-06-20T23:37:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/6.1.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-beta.2/manifests"},{"name":"6.0.6","sha":"e81982ef908714f7004ccc2533fa21d1d6a9d0b6","kind":"commit","published_at":"2018-06-20T22:57:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.6","html_url":"https://github.com/angular/angular/releases/tag/6.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.6/manifests"},{"name":"6.1.0-beta.1","sha":"3ccb4490a43ede51088615fd6bcffdcb98fdc45e","kind":"commit","published_at":"2018-06-13T23:08:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/6.1.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-beta.1/manifests"},{"name":"6.0.5","sha":"b91b9efc918cf50928cf0ba25437142fc05c5f93","kind":"commit","published_at":"2018-06-13T22:00:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.5","html_url":"https://github.com/angular/angular/releases/tag/6.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.5/manifests"},{"name":"ngcontainer_0.3.2","sha":"bc3df46ec90d78da6288b5f2135189d3a512d00a","kind":"tag","published_at":"2018-06-13T18:37:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/ngcontainer_0.3.2","html_url":"https://github.com/angular/angular/releases/tag/ngcontainer_0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.3.2/manifests"},{"name":"6.1.0-beta.0","sha":"9dd647b0879544015dec14fc8f8d5ee1cc16066d","kind":"commit","published_at":"2018-06-06T20:15:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.1.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/6.1.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.1.0-beta.0/manifests"},{"name":"6.0.4","sha":"41698bf5fdf9a51f1250875af63b0ef32f87b0e3","kind":"commit","published_at":"2018-06-06T18:49:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.4","html_url":"https://github.com/angular/angular/releases/tag/6.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.4/manifests"},{"name":"ngcontainer_0.3.1","sha":"db5dd7bed7c76bee0af5462ceabca375c080859a","kind":"tag","published_at":"2018-06-04T17:24:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/ngcontainer_0.3.1","html_url":"https://github.com/angular/angular/releases/tag/ngcontainer_0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.3.1/manifests"},{"name":"6.0.3","sha":"154289305ebba2520ac11ab8a2e239b6a94505d5","kind":"commit","published_at":"2018-05-22T23:16:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.3","html_url":"https://github.com/angular/angular/releases/tag/6.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.3/manifests"},{"name":"5.2.11","sha":"95e9107899e504a87a8c464ec1a3542a5ae2d5cd","kind":"commit","published_at":"2018-05-16T21:45:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.11","html_url":"https://github.com/angular/angular/releases/tag/5.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.11/manifests"},{"name":"6.0.2","sha":"a8f6542115e7a3eb88f914ec3f86cd6f15e256e9","kind":"commit","published_at":"2018-05-15T19:34:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.2","html_url":"https://github.com/angular/angular/releases/tag/6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.2/manifests"},{"name":"6.0.1","sha":"bd3dddce4b24f454e9dde145b00281688768b514","kind":"commit","published_at":"2018-05-11T05:22:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.1","html_url":"https://github.com/angular/angular/releases/tag/6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.1/manifests"},{"name":"6.0.0","sha":"d0ccf5f1697c1c0d4e3c8ea7a25f3c87a239df7e","kind":"commit","published_at":"2018-05-03T19:17:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0","html_url":"https://github.com/angular/angular/releases/tag/6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0/manifests"},{"name":"ngcontainer_0.3.0","sha":"6d538e6da58ef12a4108aacdd0e1003aee014e7c","kind":"tag","published_at":"2018-04-30T18:47:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/ngcontainer_0.3.0","html_url":"https://github.com/angular/angular/releases/tag/ngcontainer_0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/ngcontainer_0.3.0/manifests"},{"name":"6.0.0-rc.6","sha":"4008e36e806f31f7c0e39810aa35242739b5a502","kind":"commit","published_at":"2018-04-27T17:47:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-rc.6","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-rc.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.6/manifests"},{"name":"4.4.7","sha":"84fc1a3663f9e008ebcfee4e3826da6bf93d7e55","kind":"commit","published_at":"2018-04-16T08:00:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.4.7","html_url":"https://github.com/angular/angular/releases/tag/4.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.7/manifests"},{"name":"5.2.10","sha":"d2e7c99a93393ae5695dd3d374288afad2962b37","kind":"commit","published_at":"2018-04-16T07:21:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.10","html_url":"https://github.com/angular/angular/releases/tag/5.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.10/manifests"},{"name":"6.0.0-rc.5","sha":"8f690c90626f531214b7ce55574a24bdf3dd970d","kind":"commit","published_at":"2018-04-14T10:01:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-rc.5","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-rc.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.5/manifests"},{"name":"6.0.0-rc.4","sha":"01975ff0214654750a2bebffcb1badddd0acd1cf","kind":"commit","published_at":"2018-04-12T07:36:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-rc.4","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.4/manifests"},{"name":"6.0.0-rc.3","sha":"33f812016427d0d124abd1dca661d52de2bb9f4f","kind":"commit","published_at":"2018-04-06T23:33:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.3/manifests"},{"name":"6.0.0-rc.2","sha":"f3d2623f0ffe2d0d320e06cda68683aee75c3f5e","kind":"commit","published_at":"2018-04-05T17:55:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.2/manifests"},{"name":"6.0.0-rc.1","sha":"a30728ca5a7e82541544d0457ecc02dc99816d8d","kind":"commit","published_at":"2018-03-30T21:10:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.1/manifests"},{"name":"6.0.0-rc.0","sha":"73261a8b7080b03caff1ee813f791bdb72668937","kind":"commit","published_at":"2018-03-21T06:01:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-rc.0/manifests"},{"name":"6.0.0-beta.8","sha":"f258ec67bf20974362c33f59ec2be79fa9f8b9c8","kind":"commit","published_at":"2018-03-17T05:20:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-beta.8","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.8/manifests"},{"name":"5.2.9","sha":"5298b2bda34a8766b28c8425e447f94598b23901","kind":"commit","published_at":"2018-03-14T21:59:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.9","html_url":"https://github.com/angular/angular/releases/tag/5.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.9/manifests"},{"name":"6.0.0-beta.7","sha":"8ad4ae0a0709fad0968ca579b479a55483851f6e","kind":"commit","published_at":"2018-03-07T22:59:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-beta.7","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.7/manifests"},{"name":"5.2.8","sha":"2a236b40666c1714cee35efc42bb059761a24a40","kind":"commit","published_at":"2018-03-07T22:45:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.8","html_url":"https://github.com/angular/angular/releases/tag/5.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.8/manifests"},{"name":"6.0.0-beta.6","sha":"e751a0a2bbde3f402908657c3b17505a68817154","kind":"commit","published_at":"2018-02-28T23:17:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-beta.6","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.6/manifests"},{"name":"5.2.7","sha":"a10bf344716e4c4b7e04ab10ef615ac6c248683d","kind":"commit","published_at":"2018-02-28T23:01:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.7","html_url":"https://github.com/angular/angular/releases/tag/5.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.7/manifests"},{"name":"6.0.0-beta.5","sha":"5fc630a9da2c1d7f2d47bc4ef1493d747ab93138","kind":"commit","published_at":"2018-02-22T01:08:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-beta.5","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.5/manifests"},{"name":"5.2.6","sha":"7c3b95b4abab2a88ab077d00e2f44a1b0ce5e9bd","kind":"commit","published_at":"2018-02-22T00:45:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.6","html_url":"https://github.com/angular/angular/releases/tag/5.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.6/manifests"},{"name":"6.0.0-beta.4","sha":"fa7d8907d0d0150128461c086225dfcb50cdedeb","kind":"commit","published_at":"2018-02-14T05:35:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-beta.4","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.4/manifests"},{"name":"5.2.5","sha":"106b4352979adfda61e0c6af8eb0cdb99929709b","kind":"commit","published_at":"2018-02-14T05:07:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.5","html_url":"https://github.com/angular/angular/releases/tag/5.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.5/manifests"},{"name":"6.0.0-beta.3","sha":"5b06069fd921df30a5af13de94a05b6d500169a9","kind":"commit","published_at":"2018-02-07T19:25:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-beta.3","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.3/manifests"},{"name":"5.2.4","sha":"530b824faa29460a87c2401bc61d22a7fb56f939","kind":"commit","published_at":"2018-02-07T18:19:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.4","html_url":"https://github.com/angular/angular/releases/tag/5.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.4/manifests"},{"name":"6.0.0-beta.2","sha":"61abba4bed7f45e6821aeaa7ddb9a05d4b59177a","kind":"commit","published_at":"2018-01-31T21:15:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.2/manifests"},{"name":"5.2.3","sha":"579bed1a7a438684f96e075df255fe7a3f810f36","kind":"commit","published_at":"2018-01-31T20:47:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.3","html_url":"https://github.com/angular/angular/releases/tag/5.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.3/manifests"},{"name":"6.0.0-beta.1","sha":"d08785d2e17fef5859d354087160ef6daeb222b3","kind":"commit","published_at":"2018-01-25T06:01:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.1/manifests"},{"name":"5.2.2","sha":"3aaf43f73c17570f61d3d0cc672a01695b716499","kind":"commit","published_at":"2018-01-25T05:26:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.2","html_url":"https://github.com/angular/angular/releases/tag/5.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.2/manifests"},{"name":"6.0.0-beta.0","sha":"8503cc1db72b0639f3bc697b2f1add0e1dca2c97","kind":"commit","published_at":"2018-01-17T18:10:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/6.0.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/6.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/6.0.0-beta.0/manifests"},{"name":"5.2.1","sha":"af4eb00c9191f3eedfbb2b0bc6c471cd55f892a6","kind":"commit","published_at":"2018-01-17T17:39:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.1","html_url":"https://github.com/angular/angular/releases/tag/5.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.1/manifests"},{"name":"5.2.0","sha":"04dd9713f090ae7a9710b08b6a23b3619112fb3d","kind":"commit","published_at":"2018-01-10T01:00:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.0","html_url":"https://github.com/angular/angular/releases/tag/5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.0/manifests"},{"name":"5.2.0-rc.0","sha":"cdc66f616467e8623e04b49c2a029ba207a073bd","kind":"commit","published_at":"2018-01-04T00:12:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/5.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.0-rc.0/manifests"},{"name":"5.1.3","sha":"d138b38bdb5d20338d9cb000c46a58a6e3977271","kind":"commit","published_at":"2018-01-03T23:54:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.1.3","html_url":"https://github.com/angular/angular/releases/tag/5.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.3/manifests"},{"name":"5.2.0-beta.1","sha":"abca7c0243f8e7e4cef2f3d6cdd261e44aae855c","kind":"commit","published_at":"2017-12-20T21:42:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/5.2.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.0-beta.1/manifests"},{"name":"5.1.2","sha":"6353b77f891d4a74953b23afcf5dd6f64db09a09","kind":"commit","published_at":"2017-12-20T20:50:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.1.2","html_url":"https://github.com/angular/angular/releases/tag/5.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.2/manifests"},{"name":"5.2.0-beta.0","sha":"6e2a8a2ba44b95636d975a249d52ebadc80d8347","kind":"commit","published_at":"2017-12-13T19:43:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.2.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/5.2.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.2.0-beta.0/manifests"},{"name":"5.1.1","sha":"e3140ae888ac4037a5f119efaec7b1eaf8726286","kind":"commit","published_at":"2017-12-13T19:26:01.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.1.1","html_url":"https://github.com/angular/angular/releases/tag/5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.1/manifests"},{"name":"5.1.0","sha":"c2dbc55f115eb259a6d90e2b45ed61c329258c22","kind":"commit","published_at":"2017-12-06T20:17:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.1.0","html_url":"https://github.com/angular/angular/releases/tag/5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0/manifests"},{"name":"5.1.0-rc.1","sha":"d34f0bf573b40cc3960b86d3f29fa892c61e95b0","kind":"commit","published_at":"2017-12-01T22:55:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.1.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/5.1.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-rc.1/manifests"},{"name":"5.0.5","sha":"9dc310eb50f022b25184e84a3a9abc016e4a2451","kind":"commit","published_at":"2017-12-01T22:40:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.5","html_url":"https://github.com/angular/angular/releases/tag/5.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.5/manifests"},{"name":"5.1.0-rc.0","sha":"60a30818efc5c7796eed36573ab1608dc7f46937","kind":"commit","published_at":"2017-12-01T05:38:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/5.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-rc.0/manifests"},{"name":"5.0.4","sha":"cbd93fe0d0624ce5920f966027df534fd9b50b85","kind":"commit","published_at":"2017-12-01T05:13:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.4","html_url":"https://github.com/angular/angular/releases/tag/5.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.4/manifests"},{"name":"5.1.0-beta.2","sha":"330bb2a360397e37cb8bf287fca0d8fec71bc4d5","kind":"commit","published_at":"2017-11-22T21:34:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.1.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/5.1.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-beta.2/manifests"},{"name":"5.0.3","sha":"65a40e659bf2f62ec5964dca186e68c067014734","kind":"commit","published_at":"2017-11-22T21:09:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.3","html_url":"https://github.com/angular/angular/releases/tag/5.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.3/manifests"},{"name":"5.1.0-beta.1","sha":"4064cbe94544e421e3af1c5c76a63347637c8c3e","kind":"commit","published_at":"2017-11-16T22:04:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.1.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/5.1.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-beta.1/manifests"},{"name":"5.0.2","sha":"b1f8eb14c8cd1f415b07d72e09d14bed77c8d4ac","kind":"commit","published_at":"2017-11-16T19:24:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.2","html_url":"https://github.com/angular/angular/releases/tag/5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.2/manifests"},{"name":"5.1.0-beta.0","sha":"78ba39bfe20fe2b187108bfd92641505ff955c58","kind":"commit","published_at":"2017-11-08T19:32:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.1.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/5.1.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.1.0-beta.0/manifests"},{"name":"5.0.1","sha":"9de45fa65069af5015c33fee439776c1bf560af6","kind":"commit","published_at":"2017-11-08T18:29:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.1","html_url":"https://github.com/angular/angular/releases/tag/5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.1/manifests"},{"name":"5.0.0","sha":"5775376bcf7e35017444e60cd7f9e4f5a1959572","kind":"commit","published_at":"2017-11-01T17:50:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0","html_url":"https://github.com/angular/angular/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0/manifests"},{"name":"5.0.0-rc.9","sha":"f5b7f2b9a5bf7e8d8f4ba645d97bd214d1df0fe2","kind":"commit","published_at":"2017-10-31T04:09:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.9","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.9/manifests"},{"name":"5.0.0-rc.8","sha":"85e95cc32ba4e7d1093f236f3f2bdec508e481d7","kind":"commit","published_at":"2017-10-28T06:31:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.8","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.8/manifests"},{"name":"5.0.0-rc.7","sha":"5542517b9cb756795e291f0bb3509435f431b13f","kind":"commit","published_at":"2017-10-27T02:03:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.7","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.7/manifests"},{"name":"5.0.0-rc.6","sha":"47bc6f105dd9167954e99740115d7ab044966575","kind":"commit","published_at":"2017-10-25T21:34:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.6","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.6/manifests"},{"name":"5.0.0-rc.5","sha":"f1108fea766167f06e229bfd7992d4119838a3d4","kind":"commit","published_at":"2017-10-24T06:28:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.5","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.5/manifests"},{"name":"5.0.0-rc.4","sha":"bde57016c6338f9961405ee0064ef44e0ef234f3","kind":"commit","published_at":"2017-10-24T00:35:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.4","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.4/manifests"},{"name":"5.0.0-rc.3","sha":"230b98d4ddffee4df25f62ff3c9ac39a2329abf6","kind":"commit","published_at":"2017-10-19T00:23:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.3/manifests"},{"name":"4.4.6","sha":"7231f5e26a9d319730373ed6ea871d7d7eb2dc6c","kind":"commit","published_at":"2017-10-18T23:14:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.4.6","html_url":"https://github.com/angular/angular/releases/tag/4.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.6/manifests"},{"name":"5.0.0-rc.2","sha":"522ec9a25b411cc7596df2348c364867a8bce819","kind":"commit","published_at":"2017-10-12T20:43:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.2/manifests"},{"name":"4.4.5","sha":"912068e71c652f72dcf87ff71e0bda0068b38d95","kind":"commit","published_at":"2017-10-12T17:26:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.4.5","html_url":"https://github.com/angular/angular/releases/tag/4.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.5/manifests"},{"name":"5.0.0-rc.1","sha":"81e9bdc010573a68f675de465e0343a6da7811a0","kind":"commit","published_at":"2017-10-06T01:11:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.1/manifests"},{"name":"5.0.0-rc.0","sha":"30d5a2ca83c9cf44f602462597a58547b05b75dd","kind":"commit","published_at":"2017-09-28T23:29:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-rc.0/manifests"},{"name":"4.4.4","sha":"d489ad595de1e128ec6f96d2383fef696c78217b","kind":"commit","published_at":"2017-09-28T19:18:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.4.4","html_url":"https://github.com/angular/angular/releases/tag/4.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.4/manifests"},{"name":"4.4.3","sha":"e2e8ba6ffa382319c4f8b8cc4bc43814e7c0f97c","kind":"commit","published_at":"2017-09-19T22:22:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.4.3","html_url":"https://github.com/angular/angular/releases/tag/4.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.3/manifests"},{"name":"4.4.2","sha":"49d122e560df9c2722e1b085b406688ec46bae5a","kind":"commit","published_at":"2017-09-19T04:14:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.4.2","html_url":"https://github.com/angular/angular/releases/tag/4.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.2/manifests"},{"name":"4.4.1","sha":"818f4a751ecbb9b637389909f01373208dd16f0d","kind":"commit","published_at":"2017-09-15T22:35:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.4.1","html_url":"https://github.com/angular/angular/releases/tag/4.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.1/manifests"},{"name":"4.4.0","sha":"4e7d2bd5bfc329704e0577f7c987970a708c8c15","kind":"commit","published_at":"2017-09-15T21:58:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.4.0","html_url":"https://github.com/angular/angular/releases/tag/4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.0/manifests"},{"name":"5.0.0-beta.7","sha":"42c69d3ba6576c8a2244ac7958f4a1c7dfc19add","kind":"commit","published_at":"2017-09-13T20:43:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-beta.7","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.7/manifests"},{"name":"5.0.0-beta.6","sha":"fa6b802be4c79f57aa8484fe47f0c860f1226683","kind":"commit","published_at":"2017-09-02T14:42:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-beta.6","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.6/manifests"},{"name":"4.4.0-RC.0","sha":"aeb98dbcdfec5a2e0f7b6ae167a10bd3e15f5096","kind":"commit","published_at":"2017-09-02T05:01:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.4.0-RC.0","html_url":"https://github.com/angular/angular/releases/tag/4.4.0-RC.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.0-RC.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.4.0-RC.0/manifests"},{"name":"5.0.0-beta.5","sha":"2e714f9f2a0bc6b35d59a64ea3b3b4799900a655","kind":"commit","published_at":"2017-08-28T22:58:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-beta.5","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.5/manifests"},{"name":"4.3.6","sha":"f09a266e01e746c802c4d0e132f78a05612ea177","kind":"commit","published_at":"2017-08-23T20:01:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.6","html_url":"https://github.com/angular/angular/releases/tag/4.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.6/manifests"},{"name":"5.0.0-beta.4","sha":"9aa05211fffb1cb8b4840e7c99c6a115a78bd15c","kind":"commit","published_at":"2017-08-16T20:01:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-beta.4","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.4/manifests"},{"name":"4.3.5","sha":"7e9440527154b5c3f0c8a65816cb819885c97a6a","kind":"commit","published_at":"2017-08-16T17:51:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.5","html_url":"https://github.com/angular/angular/releases/tag/4.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.5/manifests"},{"name":"4.3.4","sha":"06e479ff66c4fd91208311334f57c7d21b36d554","kind":"commit","published_at":"2017-08-10T16:40:01.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.4","html_url":"https://github.com/angular/angular/releases/tag/4.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.4/manifests"},{"name":"5.0.0-beta.3","sha":"cea02414b0302b9e3f5f43f2b3f05c03f5206238","kind":"commit","published_at":"2017-08-09T23:07:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-beta.3","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.3/manifests"},{"name":"5.0.0-beta.2","sha":"1e1af7ffcbac2b547706296af93b51d417d853f7","kind":"commit","published_at":"2017-08-02T20:23:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.2/manifests"},{"name":"4.3.3","sha":"24db1ed9384827989fea1100dc4b2173d70cac32","kind":"commit","published_at":"2017-08-02T20:00:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.3","html_url":"https://github.com/angular/angular/releases/tag/4.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.3/manifests"},{"name":"5.0.0-beta.1","sha":"58081533590c57ba84b84ffe56582295f961025d","kind":"commit","published_at":"2017-07-27T21:59:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.1/manifests"},{"name":"4.3.2","sha":"8de2ace80a99709897542019a9f313a83156b2d8","kind":"commit","published_at":"2017-07-27T20:51:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.2","html_url":"https://github.com/angular/angular/releases/tag/4.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.2/manifests"},{"name":"5.0.0-beta.0","sha":"54ea5b6ffd2bf47bc8e848863cda37c0bc05f79c","kind":"commit","published_at":"2017-07-19T20:16:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/5.0.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/5.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/5.0.0-beta.0/manifests"},{"name":"4.3.1","sha":"54be25a7a1b481482b5956719e1ce4f8c0d4e8cc","kind":"commit","published_at":"2017-07-19T19:54:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.1","html_url":"https://github.com/angular/angular/releases/tag/4.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.1/manifests"},{"name":"4.3.0","sha":"a0b06befb6972e96ce5b724c14a65f5382bd4eee","kind":"commit","published_at":"2017-07-14T20:12:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.0","html_url":"https://github.com/angular/angular/releases/tag/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.0/manifests"},{"name":"4.3.0-rc.0","sha":"cc611c93b6748717f660bc99124bb4f8b9bc0fa3","kind":"commit","published_at":"2017-07-08T05:10:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/4.3.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.0-rc.0/manifests"},{"name":"4.2.6","sha":"b69f0faee65e4a05950a6be76a09b53aa21109f3","kind":"commit","published_at":"2017-07-08T04:48:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.6","html_url":"https://github.com/angular/angular/releases/tag/4.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.6/manifests"},{"name":"4.2.5","sha":"61e66184297d02652dd554d454173d7dbdbca2eb","kind":"commit","published_at":"2017-06-30T00:17:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.5","html_url":"https://github.com/angular/angular/releases/tag/4.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.5/manifests"},{"name":"4.3.0-beta.1","sha":"1ac9085b0ae89755afd839cdd0e779855da3774e","kind":"commit","published_at":"2017-06-29T21:41:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/4.3.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.0-beta.1/manifests"},{"name":"4.3.0-beta.0","sha":"1fc0d055651f94cf60419ab102b96801ca9bec9e","kind":"commit","published_at":"2017-06-22T00:21:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.3.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/4.3.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.3.0-beta.0/manifests"},{"name":"4.2.4","sha":"8a09015211ff790cdb96460c27ccb9e7a16a3157","kind":"commit","published_at":"2017-06-22T00:01:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.4","html_url":"https://github.com/angular/angular/releases/tag/4.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.4/manifests"},{"name":"4.2.3","sha":"8a547eeee0ca995f798bdb95688eb6cda15ad9c0","kind":"commit","published_at":"2017-06-16T16:41:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.3","html_url":"https://github.com/angular/angular/releases/tag/4.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.3/manifests"},{"name":"4.2.2","sha":"bd58e129cf666abe5044638d93378d9681488667","kind":"commit","published_at":"2017-06-12T22:36:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.2","html_url":"https://github.com/angular/angular/releases/tag/4.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.2/manifests"},{"name":"4.2.1","sha":"15090a8ad4a23dbe947ec48b581f1bf6a2da411e","kind":"commit","published_at":"2017-06-09T23:11:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.1","html_url":"https://github.com/angular/angular/releases/tag/4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.1/manifests"},{"name":"4.2.0","sha":"1c04b83ea3076ebafb95c5d42bd4608a0ddaad64","kind":"commit","published_at":"2017-06-08T22:13:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.0","html_url":"https://github.com/angular/angular/releases/tag/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0/manifests"},{"name":"4.2.0-rc.2","sha":"82ec02daf8858a0c2bf933bdb1c7cbe84a10f1d5","kind":"commit","published_at":"2017-06-01T21:27:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/4.2.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-rc.2/manifests"},{"name":"4.2.0-rc.1","sha":"51d7a65a2b672a009340ed7a50780b6357eb86b8","kind":"commit","published_at":"2017-05-26T21:38:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/4.2.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-rc.1/manifests"},{"name":"4.2.0-rc.0","sha":"3d382dc7509880cbb8d945c28090c1a5eac336b8","kind":"commit","published_at":"2017-05-19T23:03:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/4.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-rc.0/manifests"},{"name":"4.1.3","sha":"7edc5e96f373d7c74092b92874fa6c69b308d8dc","kind":"commit","published_at":"2017-05-17T22:44:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.1.3","html_url":"https://github.com/angular/angular/releases/tag/4.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.3/manifests"},{"name":"4.2.0-beta.1","sha":"71f2189f97e72e14f984b1357f291095610a6e65","kind":"commit","published_at":"2017-05-10T23:11:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/4.2.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-beta.1/manifests"},{"name":"4.1.2","sha":"62a8618536d836f7cacc109e54b9d3bbdf2bf817","kind":"commit","published_at":"2017-05-10T22:44:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.1.2","html_url":"https://github.com/angular/angular/releases/tag/4.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.2/manifests"},{"name":"4.2.0-beta.0","sha":"cd28df627c2affb1032aa2dab3267420bdde857b","kind":"commit","published_at":"2017-05-04T21:41:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.2.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/4.2.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.2.0-beta.0/manifests"},{"name":"4.1.1","sha":"1f5dce2128bddfa1c00afb15906b47e866cbda53","kind":"commit","published_at":"2017-05-04T21:22:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.1.1","html_url":"https://github.com/angular/angular/releases/tag/4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.1/manifests"},{"name":"4.1.0","sha":"b9723f9765c15dfb3f7fc797bb5cdf4a7a9e2c9a","kind":"commit","published_at":"2017-04-26T15:52:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.1.0","html_url":"https://github.com/angular/angular/releases/tag/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.0/manifests"},{"name":"4.1.0-rc.0","sha":"d855e90524d079a5fa3b2f98595f7d4f4a4353b1","kind":"commit","published_at":"2017-04-21T05:15:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/4.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.0-rc.0/manifests"},{"name":"4.0.3","sha":"6ccb93728e454b2ecc69f1dda7071cd50e6f3c3d","kind":"commit","published_at":"2017-04-21T04:41:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.3","html_url":"https://github.com/angular/angular/releases/tag/4.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.3/manifests"},{"name":"4.1.0-beta.1","sha":"9cb5964b4dc9e9c220beaa3733584c4336b08d83","kind":"commit","published_at":"2017-04-12T21:49:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.1.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/4.1.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.0-beta.1/manifests"},{"name":"4.0.2","sha":"14a2d1a6f7528c672c15244399ee7188cd2b10d3","kind":"commit","published_at":"2017-04-11T21:56:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.2","html_url":"https://github.com/angular/angular/releases/tag/4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.2/manifests"},{"name":"4.1.0-beta.0","sha":"67719f218560d94ff1accaeae67b857c6f89ec5a","kind":"commit","published_at":"2017-03-29T23:56:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.1.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/4.1.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.1.0-beta.0/manifests"},{"name":"4.0.1","sha":"6b79ab5abec8b5a4b43d563ce65f032990b3e3bc","kind":"commit","published_at":"2017-03-29T23:27:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.1","html_url":"https://github.com/angular/angular/releases/tag/4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.1/manifests"},{"name":"4.0.0","sha":"7a715b2403867aa3adfab1c87acd22af4fd8697b","kind":"commit","published_at":"2017-03-23T23:48:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0","html_url":"https://github.com/angular/angular/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0/manifests"},{"name":"4.0.0-rc.6","sha":"ee03418b10dced73acb931d1bc499ee2d869df63","kind":"commit","published_at":"2017-03-23T06:09:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-rc.6","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-rc.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.6/manifests"},{"name":"4.0.0-rc.5","sha":"2d78c8cc05514e278a7e8bbda681ba076a1958cb","kind":"commit","published_at":"2017-03-17T17:18:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-rc.5","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-rc.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.5/manifests"},{"name":"4.0.0-rc.4","sha":"b7212f5afeb229f1036a68b8e10e7634f5ab694c","kind":"commit","published_at":"2017-03-17T03:10:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-rc.4","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.4/manifests"},{"name":"2.4.10","sha":"6b57928d35730c3833e62581960a474b644770cd","kind":"commit","published_at":"2017-03-17T02:26:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.10","html_url":"https://github.com/angular/angular/releases/tag/2.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.10/manifests"},{"name":"4.0.0-rc.3","sha":"d17d4a3b549a7278f027a7774bbc3af57912fa14","kind":"commit","published_at":"2017-03-10T20:26:19.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.3/manifests"},{"name":"2.4.9","sha":"80fe41a88ecc90ab8b08318c6bee0238b2f5f46d","kind":"commit","published_at":"2017-03-02T07:11:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.9","html_url":"https://github.com/angular/angular/releases/tag/2.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.9/manifests"},{"name":"4.0.0-rc.2","sha":"180b705227284c80b06c7e0ed8f8dc1ee57bf524","kind":"commit","published_at":"2017-03-02T06:46:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.2/manifests"},{"name":"4.0.0-rc.1","sha":"da79ad3cecee73f98d7a33ea350841cdd96d464b","kind":"commit","published_at":"2017-02-25T02:03:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-rc.1/manifests"},{"name":"4.0.0-beta.8","sha":"1bdf7061b8d3758842cf10bb7181a2fbde2f1d68","kind":"commit","published_at":"2017-02-18T23:00:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-beta.8","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.8/manifests"},{"name":"2.4.8","sha":"4f93ac8762667e2787e12c3b4a07d1fec50c5378","kind":"commit","published_at":"2017-02-18T21:55:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.8","html_url":"https://github.com/angular/angular/releases/tag/2.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.8/manifests"},{"name":"4.0.0-beta.7","sha":"09b4bd0dfbfda800796f7dac0b0206e49243b23c","kind":"commit","published_at":"2017-02-09T17:41:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-beta.7","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.7/manifests"},{"name":"2.4.7","sha":"e90661aaee5ff6580a52711e1b75795b75cc9700","kind":"commit","published_at":"2017-02-09T04:28:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.7","html_url":"https://github.com/angular/angular/releases/tag/2.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.7/manifests"},{"name":"4.0.0-beta.6","sha":"559cf9d19284f697c8cbacfc3affa0d140bfc562","kind":"commit","published_at":"2017-02-03T05:19:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-beta.6","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.6/manifests"},{"name":"2.4.6","sha":"343ee8a3a23dfcd171b018b8dfe85d571afccd6b","kind":"commit","published_at":"2017-02-03T04:04:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.6","html_url":"https://github.com/angular/angular/releases/tag/2.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.6/manifests"},{"name":"4.0.0-beta.5","sha":"c4e7c083e2a5dca2467e4b2ccaabd5df4f531fa4","kind":"commit","published_at":"2017-01-25T23:49:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-beta.5","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.5/manifests"},{"name":"2.4.5","sha":"7ed39ebaafa077cba61c980570092e345f7ba43a","kind":"commit","published_at":"2017-01-25T21:48:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.5","html_url":"https://github.com/angular/angular/releases/tag/2.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.5/manifests"},{"name":"4.0.0-beta.4","sha":"992647dc433b9be2431c24afccb336c2d81de9d2","kind":"commit","published_at":"2017-01-19T00:51:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-beta.4","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.4/manifests"},{"name":"2.4.4","sha":"84542d8ae7b600602ffb9bb84c4f6cef787f4e2d","kind":"commit","published_at":"2017-01-19T00:35:54.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.4","html_url":"https://github.com/angular/angular/releases/tag/2.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.4/manifests"},{"name":"4.0.0-beta.3","sha":"2c294d5dff9f026fbb3f463bbfb7c871f26fe86f","kind":"commit","published_at":"2017-01-11T22:42:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-beta.3","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.3/manifests"},{"name":"2.4.3","sha":"a7d28044c5681417771cc23fcb0009c732c07580","kind":"commit","published_at":"2017-01-11T21:38:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.3","html_url":"https://github.com/angular/angular/releases/tag/2.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.3/manifests"},{"name":"2.4.2","sha":"03b35d2e8f1e1bcd58c6795e275a362690211796","kind":"commit","published_at":"2017-01-06T20:40:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.2","html_url":"https://github.com/angular/angular/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.2/manifests"},{"name":"4.0.0-beta.2","sha":"ccb65893bf548fed62042f9ff9988ef133c3fd9a","kind":"commit","published_at":"2017-01-06T01:18:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.2/manifests"},{"name":"4.0.0-beta.1","sha":"f114e402121d6dc486c6e4cba01179904ab89d84","kind":"commit","published_at":"2016-12-22T00:48:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.1/manifests"},{"name":"2.4.1","sha":"28a92b2bcd182eab71914b687f9a201d55e0b7ed","kind":"commit","published_at":"2016-12-21T22:26:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.1","html_url":"https://github.com/angular/angular/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"6efdf84d3e66a9a6ea0c5ccd0d67304fc3022d1a","kind":"commit","published_at":"2016-12-20T01:42:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.0","html_url":"https://github.com/angular/angular/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.0/manifests"},{"name":"2.4.0-marker","sha":"171a9bdc85d2a13b510363579cd0d84d0e643210","kind":"commit","published_at":"2016-12-20T00:24:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.4.0-marker","html_url":"https://github.com/angular/angular/releases/tag/2.4.0-marker","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.0-marker","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.4.0-marker/manifests"},{"name":"2.3.1","sha":"540b1197a6936f94b963b0d6e237daedcf7b0e37","kind":"commit","published_at":"2016-12-15T02:22:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.3.1","html_url":"https://github.com/angular/angular/releases/tag/2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.1/manifests"},{"name":"4.0.0-beta.0","sha":"fa9e21e83ca1fce0ce9b3efdb22c095f6e20604e","kind":"commit","published_at":"2016-12-14T23:36:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/4.0.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/4.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/4.0.0-beta.0/manifests"},{"name":"2.3.0","sha":"13b41bd6310dd8c10d76deef45f157e0527b1707","kind":"commit","published_at":"2016-12-07T21:54:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.3.0","html_url":"https://github.com/angular/angular/releases/tag/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.0/manifests"},{"name":"2.3.0-rc.0","sha":"c066281bada8dfdd8d59ccbe31de1676be82b1b1","kind":"commit","published_at":"2016-11-30T23:42:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.3.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/2.3.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.0-rc.0/manifests"},{"name":"2.2.4","sha":"9a9a7ac7b523cce7fa9d9def0201c75cb935ea6d","kind":"commit","published_at":"2016-11-30T23:18:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.2.4","html_url":"https://github.com/angular/angular/releases/tag/2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.4/manifests"},{"name":"2.2.3","sha":"380377139b5123d67b3dc5df4e0c87e091da5a59","kind":"commit","published_at":"2016-11-23T21:00:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.2.3","html_url":"https://github.com/angular/angular/releases/tag/2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.3/manifests"},{"name":"2.3.0-beta.1","sha":"4553948cadf5d8186b7661edab01d1b4f3ce874e","kind":"commit","published_at":"2016-11-22T23:10:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.3.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/2.3.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.0-beta.1/manifests"},{"name":"2.2.2","sha":"11ed8f56ab4cf8290c9cfa9dc178fae301fe7139","kind":"commit","published_at":"2016-11-22T22:36:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.2.2","html_url":"https://github.com/angular/angular/releases/tag/2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.2/manifests"},{"name":"2.3.0-beta.0","sha":"4e047302f2b8e617e0a40a4b9ab159077c87eb2d","kind":"commit","published_at":"2016-11-17T19:59:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.3.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/2.3.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.3.0-beta.0/manifests"},{"name":"2.2.1","sha":"933caacad34a2be2cef696eecf21438fc5f7377a","kind":"commit","published_at":"2016-11-17T00:38:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.2.1","html_url":"https://github.com/angular/angular/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.1/manifests"},{"name":"2.2.0","sha":"2524d510bc1dd1a156c3e6ac01e7532c230e5410","kind":"commit","published_at":"2016-11-14T19:26:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.2.0","html_url":"https://github.com/angular/angular/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.0/manifests"},{"name":"2.2.0-rc.0","sha":"953cb50fa56fabd33fa8b97e2f221b59834252ed","kind":"commit","published_at":"2016-11-02T23:28:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/2.2.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.0-rc.0/manifests"},{"name":"2.1.2","sha":"19273a89b6f3fbab1f8fd46c912800c701dc66aa","kind":"commit","published_at":"2016-10-27T18:28:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.1.2","html_url":"https://github.com/angular/angular/releases/tag/2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.2/manifests"},{"name":"2.2.0-beta.1","sha":"ec0acf9a1b15303d8368393dce36ad393cd16de1","kind":"commit","published_at":"2016-10-27T16:28:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.2.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/2.2.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.0-beta.1/manifests"},{"name":"2.1.1","sha":"7a1f964201ef04d66ce3a53c37faa52538ea9e43","kind":"commit","published_at":"2016-10-20T22:36:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.1.1","html_url":"https://github.com/angular/angular/releases/tag/2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.1/manifests"},{"name":"2.2.0-beta.0","sha":"69ad99dca6bebf6d26a8e9e5dd6772069ecc37f6","kind":"commit","published_at":"2016-10-20T21:36:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.2.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/2.2.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.2.0-beta.0/manifests"},{"name":"2.1.0","sha":"07bd4b0630d9d14f5abc6d5156462cc579bcaaa2","kind":"commit","published_at":"2016-10-12T20:19:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.1.0","html_url":"https://github.com/angular/angular/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.0/manifests"},{"name":"2.1.0-rc.0","sha":"ef621a2f00f1776616fb2f0cee01adf2c21a28b9","kind":"commit","published_at":"2016-10-06T13:43:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.1.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/2.1.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.0-rc.0/manifests"},{"name":"2.0.2","sha":"91f7aa3b154e93e72e16e40b003919f5ff9acd8b","kind":"commit","published_at":"2016-10-05T23:25:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.2","html_url":"https://github.com/angular/angular/releases/tag/2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.2/manifests"},{"name":"2.1.0-beta.0","sha":"2045268cec02336db06b7dcf109497388c8427c6","kind":"commit","published_at":"2016-09-23T18:41:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.1.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/2.1.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.1.0-beta.0/manifests"},{"name":"2.0.1","sha":"712d1a7c37b5dcd2878f814e64cfe44744f30f28","kind":"commit","published_at":"2016-09-23T18:28:36.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.1","html_url":"https://github.com/angular/angular/releases/tag/2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.1/manifests"},{"name":"2.0.0","sha":"ffe5c49c3ebb51d534a339e0d85a0aa7967923dc","kind":"commit","published_at":"2016-09-14T23:49:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0","html_url":"https://github.com/angular/angular/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0/manifests"},{"name":"2.0.0-rc.7","sha":"fa994810d521913ec2a9484f76a816baaa398885","kind":"commit","published_at":"2016-09-13T06:25:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-rc.7","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-rc.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.7/manifests"},{"name":"2.0.0-rc.6","sha":"0ddae9b727240a111bf64d60615a75aebb711f4a","kind":"commit","published_at":"2016-08-31T23:49:14.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-rc.6","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-rc.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.6/manifests"},{"name":"2.0.0-rc.5","sha":"ebcd14f8e911759242196b11f974bbe7b98d299a","kind":"commit","published_at":"2016-08-09T17:34:07.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-rc.5","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-rc.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.5/manifests"},{"name":"2.0.0-rc.4","sha":"1608d91728af707d9740756a80e78cfb1148dd5a","kind":"commit","published_at":"2016-06-30T17:16:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-rc.4","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-rc.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.4/manifests"},{"name":"2.0.0-rc.3","sha":"bdbbe5aa20b76509f4e6739f06ff775ecb9679b7","kind":"commit","published_at":"2016-06-21T23:34:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-rc.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.3/manifests"},{"name":"2.0.0-rc.2","sha":"933f45ef31d40f7769a1e18cc2186ed900bd8093","kind":"commit","published_at":"2016-06-15T16:38:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-rc.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.2/manifests"},{"name":"2.0.0-rc.1","sha":"6eac4b68bc445b4bc41e321bc3fd99b9759c341f","kind":"commit","published_at":"2016-05-03T21:28:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.1/manifests"},{"name":"2.0.0-rc.0","sha":"00d3b6083c8212ca74add314bd9b68ae02fa8f2d","kind":"commit","published_at":"2016-05-02T22:06:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-rc.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-rc.0/manifests"},{"name":"2.0.0-beta.17","sha":"0700c8a2527e542c726bcc9c0d724505720f4908","kind":"commit","published_at":"2016-04-28T18:47:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.17","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.17/manifests"},{"name":"2.0.0-beta.16","sha":"969b55326c8281a9e4a3d850ee7e368a276c9d13","kind":"commit","published_at":"2016-04-26T05:08:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.16","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.16/manifests"},{"name":"2.0.0-beta.15","sha":"1cebd318e5b31df5491ef1017a6abf3444f901f4","kind":"commit","published_at":"2016-04-13T20:47:09.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.15","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.15/manifests"},{"name":"2.0.0-beta.14","sha":"06ad112998e3e3fed888fd7d911822496524c3f0","kind":"commit","published_at":"2016-04-07T17:19:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.14","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.14/manifests"},{"name":"2.0.0-beta.13","sha":"27a4d0ce111fbafb2dacb39a741d23787ac7abad","kind":"commit","published_at":"2016-03-31T00:23:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.13","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.13/manifests"},{"name":"2.0.0-beta.12","sha":"0898bca9398f851573743af706b456bd699e86f8","kind":"commit","published_at":"2016-03-23T22:56:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.12","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.12/manifests"},{"name":"2.0.0-beta.11","sha":"c194f6695d3a00330ddfbefdc3ba393b0dce0dab","kind":"commit","published_at":"2016-03-18T21:42:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.11","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.11/manifests"},{"name":"2.0.0-beta.10","sha":"94a3f99ba363325c7f63af39103e8bdf9aa59b12","kind":"commit","published_at":"2016-03-17T22:01:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.10","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.10/manifests"},{"name":"2.0.0-beta.9","sha":"f34fdaf1623f8dfd0a653d0275e8558332001d5b","kind":"commit","published_at":"2016-03-09T22:56:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.9","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.9/manifests"},{"name":"2.0.0-beta.8","sha":"2830df4190e98d05bad396993776d31ba6efa6e2","kind":"commit","published_at":"2016-03-02T19:32:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.8","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.8/manifests"},{"name":"2.0.0-beta.7","sha":"2f5a2ba67116280ff3e755b43c6345a99b8f4d06","kind":"commit","published_at":"2016-02-18T21:28:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.7","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.7/manifests"},{"name":"2.0.0-beta.6","sha":"e72dc16dbe4afa3428c4524901cbd2501a84a98b","kind":"commit","published_at":"2016-02-12T00:03:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.6","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.6/manifests"},{"name":"2.0.0-beta.5","sha":"185c679563591c02bce390f9603d2975c2132501","kind":"commit","published_at":"2016-02-11T00:16:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.5","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.5/manifests"},{"name":"2.0.0-beta.4","sha":"e6c8637cb8fe4260df927848b676021b59095287","kind":"commit","published_at":"2016-02-10T23:34:13.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.4","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.4/manifests"},{"name":"2.0.0-beta.3","sha":"4f1f29d7d24ee24c5fdbf3838d602dde48b8e40f","kind":"commit","published_at":"2016-02-03T18:11:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.3","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.3/manifests"},{"name":"2.0.0-beta.2","sha":"4945e735886581075f193f241c45af4da892c4dd","kind":"commit","published_at":"2016-01-28T19:34:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.2","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.2/manifests"},{"name":"2.0.0-build.16d9c60.dart","sha":"438f983a1805c75734345cd9876c4c5c0960841e","kind":"commit","published_at":"2016-01-27T21:26:46.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.16d9c60.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.16d9c60.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.16d9c60.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.16d9c60.dart/manifests"},{"name":"2.0.0-build.16d9c60.js","sha":"75eea5a55abde8d40ac9ed1507194769c3f2952a","kind":"commit","published_at":"2016-01-27T21:26:42.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.16d9c60.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.16d9c60.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.16d9c60.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.16d9c60.js/manifests"},{"name":"2.0.0-build.0ae7775.dart","sha":"88d1838dd3a169116193cf0c369aa806c27558f3","kind":"commit","published_at":"2016-01-26T20:19:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0ae7775.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0ae7775.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ae7775.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ae7775.dart/manifests"},{"name":"2.0.0-build.0ae7775.js","sha":"a2bf562f58cd4d5f36ea54d75653ab5e99d4efc6","kind":"commit","published_at":"2016-01-26T20:18:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0ae7775.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0ae7775.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ae7775.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ae7775.js/manifests"},{"name":"2.0.0-build.132829e.dart","sha":"a64db22a0d0c33c9a85db2de95452b110b81c04f","kind":"commit","published_at":"2016-01-26T02:32:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.132829e.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.132829e.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.132829e.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.132829e.dart/manifests"},{"name":"2.0.0-build.132829e.js","sha":"acbdc843a092da5bd516bf7ba1bbbaee5a014352","kind":"commit","published_at":"2016-01-26T02:32:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.132829e.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.132829e.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.132829e.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.132829e.js/manifests"},{"name":"2.0.0-build.05fb269.dart","sha":"74458d47cb7193e66c99bfdeef34a047689906e3","kind":"commit","published_at":"2016-01-21T00:55:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.05fb269.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.05fb269.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.05fb269.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.05fb269.dart/manifests"},{"name":"2.0.0-build.05fb269.js","sha":"0719cc21f5dc6b6ae66fdf0a6cb035992d1d50e6","kind":"commit","published_at":"2016-01-21T00:54:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.05fb269.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.05fb269.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.05fb269.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.05fb269.js/manifests"},{"name":"2.0.0-build.13e6354.dart","sha":"e37bab9a8a95f4ebc1510c8f7582c51aa9f79966","kind":"commit","published_at":"2016-01-15T17:32:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.13e6354.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.13e6354.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.13e6354.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.13e6354.dart/manifests"},{"name":"2.0.0-build.13e6354.js","sha":"a1dee3f59ac3f140cf9ed15814f50e7b19fcc425","kind":"commit","published_at":"2016-01-15T17:32:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.13e6354.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.13e6354.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.13e6354.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.13e6354.js/manifests"},{"name":"2.0.0-build.0290362.dart","sha":"074c99c6a89edaf2a050f99cb8b0b4ad01449a78","kind":"commit","published_at":"2016-01-14T00:15:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0290362.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0290362.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0290362.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0290362.dart/manifests"},{"name":"2.0.0-build.0290362.js","sha":"991ccfc6223f3be0afd90636b0d7416bd05a7380","kind":"commit","published_at":"2016-01-14T00:15:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0290362.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0290362.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0290362.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0290362.js/manifests"},{"name":"2.0.0-build.065ac93.dart","sha":"abd84941d1c0a17d7b55b541dd4dae43c9ed7f33","kind":"commit","published_at":"2016-01-11T19:02:58.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.065ac93.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.065ac93.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.065ac93.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.065ac93.dart/manifests"},{"name":"2.0.0-build.065ac93.js","sha":"d2e4fd53911c5223ad180a6c6881ed11e8041157","kind":"commit","published_at":"2016-01-11T19:02:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.065ac93.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.065ac93.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.065ac93.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.065ac93.js/manifests"},{"name":"2.0.0-build.046758c.dart","sha":"fd725b500705f1f9b4df0c60ba31c54ad84deb00","kind":"commit","published_at":"2016-01-08T20:23:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.046758c.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.046758c.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.046758c.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.046758c.dart/manifests"},{"name":"2.0.0-build.046758c.js","sha":"11ab20c3ac57ed86a10c8a23e3cb528645d5f0b9","kind":"commit","published_at":"2016-01-08T20:23:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.046758c.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.046758c.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.046758c.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.046758c.js/manifests"},{"name":"2.0.0-build.041c599.dart","sha":"c76e349142436818edb85f85ab37a706e0ac23d6","kind":"commit","published_at":"2016-01-08T20:23:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.041c599.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.041c599.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.041c599.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.041c599.dart/manifests"},{"name":"2.0.0-build.041c599.js","sha":"4c12f0bcc6fda0fde45b092e507e0da763f09e36","kind":"commit","published_at":"2016-01-08T20:23:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.041c599.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.041c599.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.041c599.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.041c599.js/manifests"},{"name":"2.0.0-beta.1","sha":"046758cf6196e928b747ea5787280cd3c5a943a9","kind":"commit","published_at":"2016-01-08T20:09:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.1","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.1/manifests"},{"name":"2.0.0-build.0b6e75a.dart","sha":"32601aa85cbbc159e0ec9466b242685c07b627de","kind":"commit","published_at":"2016-01-04T23:46:41.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0b6e75a.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0b6e75a.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0b6e75a.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0b6e75a.dart/manifests"},{"name":"2.0.0-build.0b6e75a.js","sha":"56e9b5af651dab4f149cb7ad271360059daa7ef3","kind":"commit","published_at":"2016-01-04T23:46:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0b6e75a.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0b6e75a.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0b6e75a.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0b6e75a.js/manifests"},{"name":"2.0.0-build.03823d4.dart","sha":"aa8173ba179bbd750dae9ce6837c3117401c3ff7","kind":"commit","published_at":"2016-01-04T21:15:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.03823d4.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.03823d4.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.03823d4.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.03823d4.dart/manifests"},{"name":"2.0.0-build.03823d4.js","sha":"c5a1c67ce7fc29f4dbfa77b28ebe729cf42a7a04","kind":"commit","published_at":"2016-01-04T21:14:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.03823d4.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.03823d4.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.03823d4.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.03823d4.js/manifests"},{"name":"2.0.0-build.06b2aa1.dart","sha":"abd0c957f2dae6b5dda8753bb5b82fd571ac6224","kind":"commit","published_at":"2016-01-04T19:35:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.06b2aa1.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.06b2aa1.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06b2aa1.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06b2aa1.dart/manifests"},{"name":"2.0.0-build.06b2aa1.js","sha":"3a56dd334981f50e79174cc9d6fb2aba9555bac9","kind":"commit","published_at":"2016-01-04T19:35:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.06b2aa1.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.06b2aa1.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06b2aa1.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06b2aa1.js/manifests"},{"name":"2.0.0-build.020ce32.dart","sha":"b1ec5b86c084f862f80e955893592026ec5ce413","kind":"commit","published_at":"2015-12-24T14:53:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.020ce32.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.020ce32.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.020ce32.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.020ce32.dart/manifests"},{"name":"2.0.0-build.020ce32.js","sha":"2a512c44e97606ae96079bf4126dd8725d3c0839","kind":"commit","published_at":"2015-12-24T14:53:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.020ce32.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.020ce32.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.020ce32.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.020ce32.js/manifests"},{"name":"2.0.0-build.0f85b36.dart","sha":"8bef129e2126eee043def531716d82a530d48056","kind":"commit","published_at":"2015-12-23T02:41:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0f85b36.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0f85b36.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0f85b36.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0f85b36.dart/manifests"},{"name":"2.0.0-build.0f85b36.js","sha":"dd8b6efc6fcf2331849140192d1f2c5d1a3d7426","kind":"commit","published_at":"2015-12-23T02:41:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0f85b36.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0f85b36.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0f85b36.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0f85b36.js/manifests"},{"name":"2.0.0-build.0544e07.dart","sha":"356324279e35393f6d886ba452033f6f59bce796","kind":"commit","published_at":"2015-12-21T18:17:31.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0544e07.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0544e07.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0544e07.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0544e07.dart/manifests"},{"name":"2.0.0-build.0544e07.js","sha":"b1874cae600e78518d1bca44006744eff57c9112","kind":"commit","published_at":"2015-12-21T18:17:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0544e07.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0544e07.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0544e07.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0544e07.js/manifests"},{"name":"2.0.0-beta.0","sha":"f50affaf9cd2415693d958ae224af5378764a117","kind":"commit","published_at":"2015-12-15T18:54:10.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-beta.0","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-beta.0/manifests"},{"name":"2.0.0-alpha.55","sha":"a45b27e7f9c0c23e5bc3786e0a9ea16ec591950e","kind":"commit","published_at":"2015-12-15T17:57:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-alpha.55","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-alpha.55","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.55","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.55/manifests"},{"name":"2.0.0-build.00822c3.dart","sha":"4819bd0dcd331418330b10e43abf3afb1c10e8b0","kind":"commit","published_at":"2015-12-15T17:55:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.00822c3.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.00822c3.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.00822c3.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.00822c3.dart/manifests"},{"name":"2.0.0-build.00822c3.js","sha":"5762dc7362018c98685f9e567221bbb101b5d749","kind":"commit","published_at":"2015-12-15T17:54:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.00822c3.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.00822c3.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.00822c3.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.00822c3.js/manifests"},{"name":"2.0.0-build.059e09c.dart","sha":"423dbc9063c85f550836104a7f34b0788e67272e","kind":"commit","published_at":"2015-12-15T11:16:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.059e09c.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.059e09c.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.059e09c.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.059e09c.dart/manifests"},{"name":"2.0.0-build.059e09c.js","sha":"a239f406e29bad7f29051ccca1a24b330813e20c","kind":"commit","published_at":"2015-12-15T11:16:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.059e09c.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.059e09c.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.059e09c.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.059e09c.js/manifests"},{"name":"2.0.0-alpha.54","sha":"059e09c3be57722a2572157d89826b72018c4ca1","kind":"commit","published_at":"2015-12-15T11:04:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-alpha.54","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-alpha.54","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.54","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.54/manifests"},{"name":"2.0.0-build.03e3035.dart","sha":"d329c27debeb79f28f7b1204c494671b02517a5e","kind":"commit","published_at":"2015-12-15T05:29:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.03e3035.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.03e3035.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.03e3035.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.03e3035.dart/manifests"},{"name":"2.0.0-build.03e3035.js","sha":"ead2af7b496bdaa70521d83c4cc9690891bf6f18","kind":"commit","published_at":"2015-12-15T05:29:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.03e3035.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.03e3035.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.03e3035.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.03e3035.js/manifests"},{"name":"2.0.0-build.16e74cf.dart","sha":"a3ad538157349500ea01529b35ba8182f4f02b52","kind":"commit","published_at":"2015-12-15T00:57:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.16e74cf.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.16e74cf.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.16e74cf.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.16e74cf.dart/manifests"},{"name":"2.0.0-build.16e74cf.js","sha":"79b18a9f4d9c2c136a93792000159d4c7e9da246","kind":"commit","published_at":"2015-12-15T00:57:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.16e74cf.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.16e74cf.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.16e74cf.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.16e74cf.js/manifests"},{"name":"2.0.0-build.116015b.dart","sha":"9c4e4a789234f6581aa2c7253a3af258fde591a0","kind":"commit","published_at":"2015-12-15T00:57:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.116015b.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.116015b.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.116015b.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.116015b.dart/manifests"},{"name":"2.0.0-build.116015b.js","sha":"ee436c8079418e18da86ea724c171605ffb48fbc","kind":"commit","published_at":"2015-12-15T00:57:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.116015b.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.116015b.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.116015b.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.116015b.js/manifests"},{"name":"2.0.0-build.0f8e40b.dart","sha":"4d495ac61fccabe0996292a09e1f1eb35f3bf00f","kind":"commit","published_at":"2015-12-14T21:38:26.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0f8e40b.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0f8e40b.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0f8e40b.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0f8e40b.dart/manifests"},{"name":"2.0.0-build.0f8e40b.js","sha":"f92e7f0a2b68c65bbee79045dfa8247da3b9b5ac","kind":"commit","published_at":"2015-12-14T21:38:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0f8e40b.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0f8e40b.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0f8e40b.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0f8e40b.js/manifests"},{"name":"2.0.0-build.006a96d.js","sha":"50cc925ed09424f2ffa2eb0e856853b6e40581ed","kind":"commit","published_at":"2015-12-14T21:17:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.006a96d.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.006a96d.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.006a96d.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.006a96d.js/manifests"},{"name":"2.0.0-build.1607ef8.dart","sha":"91ba62b339984b5d521ea246db4d6306d07bfcf3","kind":"commit","published_at":"2015-12-14T20:57:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.1607ef8.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.1607ef8.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.1607ef8.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.1607ef8.dart/manifests"},{"name":"2.0.0-build.1607ef8.js","sha":"2df4443941aa08776b57e9fe7520ae5afd721a98","kind":"commit","published_at":"2015-12-14T20:57:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.1607ef8.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.1607ef8.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.1607ef8.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.1607ef8.js/manifests"},{"name":"2.0.0-build.05fa1fd.dart","sha":"eb714489d5e972be507613e01d2327ee53ec756f","kind":"commit","published_at":"2015-12-14T18:48:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.05fa1fd.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.05fa1fd.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.05fa1fd.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.05fa1fd.dart/manifests"},{"name":"2.0.0-build.05fa1fd.js","sha":"1113ba64c5f97214ab8287919c9262117ff40a9e","kind":"commit","published_at":"2015-12-14T18:48:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.05fa1fd.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.05fa1fd.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.05fa1fd.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.05fa1fd.js/manifests"},{"name":"2.0.0-alpha.53","sha":"892f9e19bc1a481038181b18319c54c90b72e62d","kind":"commit","published_at":"2015-12-13T01:59:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-alpha.53","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-alpha.53","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.53","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.53/manifests"},{"name":"2.0.0-build.080469f.dart","sha":"b4522263c308a0f968425a05993bd1a66a09d720","kind":"commit","published_at":"2015-12-11T02:14:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.080469f.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.080469f.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.080469f.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.080469f.dart/manifests"},{"name":"2.0.0-build.080469f.js","sha":"b311eb0975c43a3eeb043ce1330cb3b3a87aeebc","kind":"commit","published_at":"2015-12-11T02:14:47.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.080469f.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.080469f.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.080469f.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.080469f.js/manifests"},{"name":"2.0.0-build.06e32eb.dart","sha":"f29204a250442ba28c035f4ce66ec2df6d95c2c2","kind":"commit","published_at":"2015-12-10T22:38:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.06e32eb.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.06e32eb.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06e32eb.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06e32eb.dart/manifests"},{"name":"2.0.0-build.06e32eb.js","sha":"641f5254f7dce7ba49cbee3253c0cf1b32e5a0c7","kind":"commit","published_at":"2015-12-10T22:38:45.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.06e32eb.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.06e32eb.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06e32eb.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06e32eb.js/manifests"},{"name":"2.0.0-build.039ed3b.dart","sha":"53676712ae8431d3b91a7ba99cfdd8c965f34898","kind":"commit","published_at":"2015-12-10T21:30:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.039ed3b.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.039ed3b.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.039ed3b.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.039ed3b.dart/manifests"},{"name":"2.0.0-build.039ed3b.js","sha":"38222cbcf2c5bd160f10728824ad126dd3681044","kind":"commit","published_at":"2015-12-10T21:30:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.039ed3b.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.039ed3b.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.039ed3b.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.039ed3b.js/manifests"},{"name":"2.0.0-build.06d076a.dart","sha":"d7c67266a9972d6706353786582cfdc673524c9a","kind":"commit","published_at":"2015-12-10T11:55:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.06d076a.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.06d076a.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06d076a.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06d076a.dart/manifests"},{"name":"2.0.0-build.06d076a.js","sha":"11d6c73ee334c6e60ea950b1bf92bab7f6dd7fcd","kind":"commit","published_at":"2015-12-10T11:55:24.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.06d076a.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.06d076a.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06d076a.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.06d076a.js/manifests"},{"name":"2.0.0-alpha.52","sha":"c8d6ad27189eae9cbf458f0ac1aaed7a5015f3a7","kind":"commit","published_at":"2015-12-10T08:48:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-alpha.52","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-alpha.52","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.52","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.52/manifests"},{"name":"2.0.0-alpha.51","sha":"f1741b10f296e688caf8bb3d5cd1596208bdeabd","kind":"commit","published_at":"2015-12-10T03:28:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-alpha.51","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-alpha.51","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.51","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.51/manifests"},{"name":"2.0.0-build.01ba94b.dart","sha":"a153776a2319622617d8ded056719d06dd38df55","kind":"commit","published_at":"2015-12-10T01:52:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.01ba94b.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.01ba94b.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.01ba94b.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.01ba94b.dart/manifests"},{"name":"2.0.0-build.01ba94b.js","sha":"b27400a42d178c32cf192d1a15e0b0960e141454","kind":"commit","published_at":"2015-12-10T01:52:27.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.01ba94b.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.01ba94b.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.01ba94b.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.01ba94b.js/manifests"},{"name":"2.0.0-build.0ef6809.dart","sha":"fcd33e0d661dcf032fea731d457250433bda93c4","kind":"commit","published_at":"2015-12-09T22:15:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0ef6809.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0ef6809.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ef6809.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ef6809.dart/manifests"},{"name":"2.0.0-build.0ef6809.js","sha":"19923d5eacf1d71a8a398bd4378360c5f58c97ec","kind":"commit","published_at":"2015-12-09T22:15:17.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0ef6809.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0ef6809.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ef6809.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ef6809.js/manifests"},{"name":"2.0.0-build.0cdf280.dart","sha":"1f414a8a91bddc08b89fdac776a806d13614326b","kind":"commit","published_at":"2015-12-09T19:21:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0cdf280.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0cdf280.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0cdf280.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0cdf280.dart/manifests"},{"name":"2.0.0-build.0cdf280.js","sha":"279a3e01893e68fc02fedc1d027c70618ee51911","kind":"commit","published_at":"2015-12-09T19:21:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0cdf280.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0cdf280.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0cdf280.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0cdf280.js/manifests"},{"name":"2.0.0-alpha.50","sha":"214148d58a424717f7a08c8a73ceeb9a02cde525","kind":"commit","published_at":"2015-12-09T03:07:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-alpha.50","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-alpha.50","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.50","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.50/manifests"},{"name":"2.0.0-build.071165f.dart","sha":"81cd9fe017fa314b9e975955229346bf836638b9","kind":"commit","published_at":"2015-12-09T02:42:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.071165f.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.071165f.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.071165f.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.071165f.dart/manifests"},{"name":"2.0.0-build.071165f.js","sha":"8f6566bfc8f6b87b52e4a53d2abbb206733c9d39","kind":"commit","published_at":"2015-12-09T02:42:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.071165f.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.071165f.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.071165f.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.071165f.js/manifests"},{"name":"2.0.0-alpha.49","sha":"90c67b4b11c544ff5270968b29bd2b894e876a5e","kind":"commit","published_at":"2015-12-09T01:41:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-alpha.49","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-alpha.49","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.49","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.49/manifests"},{"name":"2.0.0-build.15f5f27.dart","sha":"8e9f8bb13a24e7ef89c677fd28f01a97c41a31a1","kind":"commit","published_at":"2015-12-09T00:39:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.15f5f27.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.15f5f27.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.15f5f27.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.15f5f27.dart/manifests"},{"name":"2.0.0-build.15f5f27.js","sha":"ed0c0f91876e38fab9db977076bc3177db81c8dc","kind":"commit","published_at":"2015-12-09T00:39:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.15f5f27.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.15f5f27.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.15f5f27.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.15f5f27.js/manifests"},{"name":"2.0.0-build.0df8bc4.dart","sha":"02319ec0e58dee8e34b25273ebd5f9fb839e851c","kind":"commit","published_at":"2015-12-09T00:19:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0df8bc4.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0df8bc4.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0df8bc4.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0df8bc4.dart/manifests"},{"name":"2.0.0-build.0df8bc4.js","sha":"e28cd9980c4a6b0e2358e0fb3d8ab9eabbb99931","kind":"commit","published_at":"2015-12-09T00:19:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0df8bc4.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0df8bc4.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0df8bc4.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0df8bc4.js/manifests"},{"name":"2.0.0-build.0ec9ccf.dart","sha":"406288656fd5cc8861fd7fdda01a8988e4f0f22a","kind":"commit","published_at":"2015-12-07T23:41:21.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0ec9ccf.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0ec9ccf.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ec9ccf.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ec9ccf.dart/manifests"},{"name":"2.0.0-build.0ec9ccf.js","sha":"b69a35f0f9793d5641fea3f972759349e4cd0766","kind":"commit","published_at":"2015-12-07T23:41:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0ec9ccf.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0ec9ccf.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ec9ccf.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0ec9ccf.js/manifests"},{"name":"2.0.0-build.140ce9f.dart","sha":"8a6a29be8f999c2170349b867e6fd0f278c56e1b","kind":"commit","published_at":"2015-12-07T23:33:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.140ce9f.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.140ce9f.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.140ce9f.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.140ce9f.dart/manifests"},{"name":"2.0.0-build.140ce9f.js","sha":"1b198099708a9a18e14473262018b47e87639aaf","kind":"commit","published_at":"2015-12-07T23:33:43.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.140ce9f.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.140ce9f.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.140ce9f.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.140ce9f.js/manifests"},{"name":"2.0.0-build.0a44fc6.dart","sha":"46b228fabb2f38e42639c5fdf683b999295381aa","kind":"commit","published_at":"2015-12-07T18:26:03.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0a44fc6.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0a44fc6.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0a44fc6.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0a44fc6.dart/manifests"},{"name":"2.0.0-build.0a44fc6.js","sha":"ba1703316bc856c6f60b8886bb6f5f4ff0358daf","kind":"commit","published_at":"2015-12-07T18:25:59.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0a44fc6.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0a44fc6.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0a44fc6.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0a44fc6.js/manifests"},{"name":"2.0.0-alpha.48","sha":"a090843b84f4ab2e0b5789ccce089ce2c3439083","kind":"commit","published_at":"2015-12-05T01:12:22.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-alpha.48","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-alpha.48","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.48","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-alpha.48/manifests"},{"name":"2.0.0-build.0614797.dart","sha":"8060fa7ccdf2e324ddb92095540ac1d3c5660562","kind":"commit","published_at":"2015-12-03T23:28:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0614797.dart","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0614797.dart","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0614797.dart","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0614797.dart/manifests"},{"name":"2.0.0-build.0614797.js","sha":"62bbaad9ad54ed6c8bdedb4eb81ca1559f1526ad","kind":"commit","published_at":"2015-12-03T23:28:12.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/2.0.0-build.0614797.js","html_url":"https://github.com/angular/angular/releases/tag/2.0.0-build.0614797.js","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0614797.js","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/2.0.0-build.0614797.js/manifests"}]},"repo_metadata_updated_at":"2025-01-13T23:29:47.325Z","dependent_packages_count":15248,"downloads":8609836,"downloads_period":"last-month","dependent_repos_count":654463,"rankings":{"downloads":0.08948324922098194,"dependent_repos_count":0.0473533366690938,"dependent_packages_count":0.007535431513345848,"stargazers_count":0.05782881073595011,"forks_count":0.32556535797346836,"docker_downloads_count":0.20776668933956224,"average":0.12258881257540039},"purl":"pkg:npm/%40angular/animations","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@angular/animations","docker_dependents_count":628,"docker_downloads_count":221688639,"usage_url":"https://repos.ecosyste.ms/usage/npm/@angular/animations","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@angular/animations/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Fanimations/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Fanimations/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Fanimations/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Fanimations/related_packages","maintainers":[{"uuid":"angular","login":"angular","name":null,"email":"devops+npm@angular.io","url":null,"packages_count":149,"html_url":"https://www.npmjs.com/~angular","role":null,"created_at":"2022-11-10T10:45:52.725Z","updated_at":"2022-11-10T10:45:52.725Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/angular/packages"},{"uuid":"google-wombot","login":"google-wombot","name":null,"email":"node-team-npm+wombot@google.com","url":null,"packages_count":1317,"html_url":"https://www.npmjs.com/~google-wombot","role":null,"created_at":"2022-11-10T10:45:52.728Z","updated_at":"2022-11-10T10:45:52.728Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/google-wombot/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5006532,"maintainers_count":1012930,"namespaces_count":295512,"keywords_count":700181,"github":"npm","metadata":{"funded_packages_count":150239},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-06-06T05:58:05.971Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/namespaces"}},"unique_repositories_count":546,"unique_repositories_count_past_30_days":25,"recent_issues":[{"uuid":"4645912768","node_id":"PR_kwDONdNJI87lljEC","number":3418,"state":"closed","title":"chore(deps): bump the npm-dependencies group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies","major","frontend"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-12T23:41:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-12T03:09:22.000Z","updated_at":"2026-06-12T23:41:56.000Z","time_to_close":73952,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":30,"packages":[{"name":"@angular/animations","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.9","new_version":"22.0.1","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@stomp/rx-stomp","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/stomp-js/rx-stomp"},{"name":"chartjs-chart-matrix","old_version":"3.0.0","new_version":"3.0.4","repository_url":"https://github.com/kurkle/chartjs-chart-matrix"},{"name":"date-fns","old_version":"4.1.0","new_version":"4.4.0","repository_url":"https://github.com/date-fns/date-fns"},{"name":"dompurify","old_version":"3.4.1","new_version":"3.4.9","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"primeng","old_version":"21.1.6","new_version":"21.1.9","repository_url":"https://github.com/primefaces/primeng"},{"name":"uuid","old_version":"11.1.1","new_version":"14.0.0","repository_url":"https://github.com/uuidjs/uuid"},{"name":"ws","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/websockets/ws"},{"name":"zone.js","old_version":"0.16.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@analogjs/vite-plugin-angular","old_version":"2.5.0","new_version":"2.6.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/vitest-angular","old_version":"2.5.0","new_version":"2.6.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular/build","old_version":"21.2.8","new_version":"22.0.1","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.8","new_version":"22.0.1","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"angular-eslint","old_version":"21.3.1","new_version":"22.0.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"eslint","old_version":"10.2.1","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 29 updates in the /booklore-ui directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.10` | `22.0.1` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.9` | `22.0.1` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.10` | `22.0.1` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.10` | `22.0.1` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.10` | `22.0.1` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.10` | `22.0.1` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.10` | `22.0.1` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.10` | `22.0.1` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.10` | `22.0.1` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.10` | `22.0.1` |\n| [@stomp/rx-stomp](https://github.com/stomp-js/rx-stomp) | `2.3.0` | `2.4.0` |\n| [chartjs-chart-matrix](https://github.com/kurkle/chartjs-chart-matrix) | `3.0.0` | `3.0.4` |\n| [date-fns](https://github.com/date-fns/date-fns) | `4.1.0` | `4.4.0` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.1` | `3.4.9` |\n| [primeng](https://github.com/primefaces/primeng/tree/HEAD/packages/primeng) | `21.1.6` | `21.1.9` |\n| [uuid](https://github.com/uuidjs/uuid) | `11.1.1` | `14.0.0` |\n| [ws](https://github.com/websockets/ws) | `8.20.0` | `8.21.0` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.16.1` | `0.16.2` |\n| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) | `2.5.0` | `2.6.1` |\n| [@analogjs/vitest-angular](https://github.com/analogjs/analog) | `2.5.0` | `2.6.1` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.1` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.1` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.10` | `22.0.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.3` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.8` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.3.1` | `22.0.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.2.1` | `10.4.1` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@angular/animations` from 21.2.10 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.9 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d75a22d69ddc9ffc5afa6b677f39fbbfc3ad5f7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d75a22d69-fix-green\" alt=\"fix - d75a22d69\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid errors with clobbered variables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/fe0a96ce673c3622e87a7a44bff8f40a1ad70675\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe0a96ce6-fix-green\" alt=\"fix - fe0a96ce6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate ID before attaching them to placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003e\u003cimg src=\"https://img.shields.io/badge/d7a8cb963-fix-green\" alt=\"fix - d7a8cb963\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/issues/33373\"\u003e#33373\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bde3c7621dddba2932f23743fc67a18feec664fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/bde3c7621-fix-green\" alt=\"fix - bde3c7621\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etimepicker:\u003c/strong\u003e do not allow intervals less than a second (\u003ca href=\"https://redirect.github.com/angular/components/issues/33354\"\u003e#33354\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/629aea4032cedf9428e3ed4f729d6a5836fa84de\"\u003e\u003cimg src=\"https://img.shields.io/badge/629aea403-fix-green\" alt=\"fix - 629aea403\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e avoid prototype conflicts in id generator (\u003ca href=\"https://redirect.github.com/angular/components/issues/33356\"\u003e#33356\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e\u003cimg src=\"https://img.shields.io/badge/49aeb676c-fix-green\" alt=\"fix - 49aeb676c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eclipboard:\u003c/strong\u003e avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33366\"\u003e#33366\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7581b0592b6aef617e3563e206b0645d3122d68c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7581b0592-fix-green\" alt=\"fix - 7581b0592\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e avoid error for synthetic events (\u003ca href=\"https://redirect.github.com/angular/components/issues/33360\"\u003e#33360\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1c4706155d6f8a5d465dbb2b6a40cf7da2efdf17\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c4706155-fix-green\" alt=\"fix - 1c4706155\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e prevent re-dispatching keyboard event on control target change (\u003ca href=\"https://redirect.github.com/angular/components/issues/33362\"\u003e#33362\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/96e9ce10c35ea3df9a9604a5ab3b5c85e8cc263e\"\u003e\u003cimg src=\"https://img.shields.io/badge/96e9ce10c-fix-green\" alt=\"fix - 96e9ce10c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e recursive textDirection getter (\u003ca href=\"https://redirect.github.com/angular/components/issues/33337\"\u003e#33337\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d91f46b4c522159e025d3b94b653981f344a4fdf\"\u003e\u003cimg src=\"https://img.shields.io/badge/d91f46b4c-feat-blue\" alt=\"feat - d91f46b4c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eaccordion:\u003c/strong\u003e introduce accordion harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33046\"\u003e#33046\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e3d84f2e0adb9254d804c10ba24e6c4528efad53\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3d84f2e0-feat-blue\" alt=\"feat - e3d84f2e0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33194\"\u003e#33194\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0ca47b4a060595919fd2b2cd62d0097071c4795d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0ca47b4a0-feat-blue\" alt=\"feat - 0ca47b4a0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e migrate simple-combobox directly into primary entrypoints (\u003ca href=\"https://redirect.github.com/angular/components/issues/33206\"\u003e#33206\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6ec07bc0cbe39be48faaf6021caecf2d0037df1f\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec07bc0c-feat-blue\" alt=\"feat - 6ec07bc0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33081\"\u003e#33081\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1885d35346e05341532aed56ac476f9a9eae179b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1885d3534-feat-blue\" alt=\"feat - 1885d3534\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elistbox:\u003c/strong\u003e introduce listbox harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33064\"\u003e#33064\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75fae5275c5702e64477da6a2ac8a14428623c8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fae5275-feat-blue\" alt=\"feat - 75fae5275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e introduce menu harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33067\"\u003e#33067\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c25e6252ecf3b5a6472151a8fca4af093b3322e6\"\u003e\u003cimg src=\"https://img.shields.io/badge/c25e6252e-feat-blue\" alt=\"feat - c25e6252e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33079\"\u003e#33079\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a49508bacf419f2e8f0545158de1f951f3ba1c1a\"\u003e\u003cimg src=\"https://img.shields.io/badge/a49508bac-feat-blue\" alt=\"feat - a49508bac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etoolbar:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33068\"\u003e#33068\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/30f223972870c3016e8e14f4bafb913d22117e20\"\u003e\u003cimg src=\"https://img.shields.io/badge/30f223972-feat-blue\" alt=\"feat - 30f223972\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33066\"\u003e#33066\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/91a4932f65e02ce7087cb38cc0198b6f1f993242\"\u003e\u003cimg src=\"https://img.shields.io/badge/91a4932f6-fix-green\" alt=\"fix - 91a4932f6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e increases autocomplete demo's  placeholder text c… (\u003ca href=\"https://redirect.github.com/angular/components/issues/33084\"\u003e#33084\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/218a77cf946808ca966c131f56c393ef91c662b3\"\u003e\u003cimg src=\"https://img.shields.io/badge/218a77cf9-fix-green\" alt=\"fix - 218a77cf9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e separates placeholder prefixes (\u003ca href=\"https://redirect.github.com/angular/components/issues/33163\"\u003e#33163\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce1d9a7286b66e2c9511183586fceabf2a925c02\"\u003e\u003cimg src=\"https://img.shields.io/badge/ce1d9a728-fix-green\" alt=\"fix - ce1d9a728\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e allow menu item role override (\u003ca href=\"https://redirect.github.com/angular/components/issues/33264\"\u003e#33264\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/196b7064db336830ee9c43244c00631935dd2c55\"\u003e\u003cimg src=\"https://img.shields.io/badge/196b7064d-fix-green\" alt=\"fix - 196b7064d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e defer menu item focus in case menus in cdk overlay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33258\"\u003e#33258\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6443b79f9a629c67766675ebd740722eb65b2926\"\u003e\u003cimg src=\"https://img.shields.io/badge/6443b79f9-fix-green\" alt=\"fix - 6443b79f9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e unable to set softDisabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33265\"\u003e#33265\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1a5d5d101aa0c3d3113ca8e77f0dbe4175afe655\"\u003e\u003cimg src=\"https://img.shields.io/badge/1a5d5d101-feat-blue\" alt=\"feat - 1a5d5d101\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/24115c02189ca0b1b3f09a909b8962d330f55f91\"\u003e\u003cimg src=\"https://img.shields.io/badge/24115c021-feat-blue\" alt=\"feat - 24115c021\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eportal:\u003c/strong\u003e add directives support to ComponentPortal (\u003ca href=\"https://redirect.github.com/angular/components/issues/33142\"\u003e#33142\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7426334c5efb76ac3f359e26a7f6e48e29d4ec78\"\u003e\u003cimg src=\"https://img.shields.io/badge/7426334c5-fix-green\" alt=\"fix - 7426334c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/81c6bbd89da765a3ce8fd9dd8fd0b36b8eac4ca4\"\u003e\u003cimg src=\"https://img.shields.io/badge/81c6bbd89-fix-green\" alt=\"fix - 81c6bbd89\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ffb23f6f825a0e86cd6d9bf3505af70b2264e588\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb23f6f8-fix-green\" alt=\"fix - ffb23f6f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/4c298970ed67abfa7b9980e219bbbafe3c71ddc5\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c298970e-fix-green\" alt=\"fix - 4c298970e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003escrolling:\u003c/strong\u003e make it easier to provide custom scrollable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33269\"\u003e#33269\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 \u0026quot;argon-apple\u0026quot; (2026-06-10)\u003c/h1\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7581b0592b6aef617e3563e206b0645d3122d68c\"\u003e7581b0592\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e avoid error for synthetic events (\u003ca href=\"https://redirect.github.com/angular/components/pull/33360\"\u003e#33360\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1c4706155d6f8a5d465dbb2b6a40cf7da2efdf17\"\u003e1c4706155\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e prevent re-dispatching keyboard event on control target change (\u003ca href=\"https://redirect.github.com/angular/components/pull/33362\"\u003e#33362\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/96e9ce10c35ea3df9a9604a5ab3b5c85e8cc263e\"\u003e96e9ce10c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e recursive textDirection getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33337\"\u003e#33337\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/629aea4032cedf9428e3ed4f729d6a5836fa84de\"\u003e629aea403\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e avoid prototype conflicts in id generator (\u003ca href=\"https://redirect.github.com/angular/components/pull/33356\"\u003e#33356\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e49aeb676c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eclipboard:\u003c/strong\u003e avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/pull/33366\"\u003e#33366\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003ed7a8cb963\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/pull/33373\"\u003e#33373\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bde3c7621dddba2932f23743fc67a18feec664fe\"\u003ebde3c7621\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etimepicker:\u003c/strong\u003e do not allow intervals less than a second (\u003ca href=\"https://redirect.github.com/angular/components/pull/33354\"\u003e#33354\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d75a22d69ddc9ffc5afa6b677f39fbbfc3ad5f7f\"\u003ed75a22d69\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid errors with clobbered variables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/fe0a96ce673c3622e87a7a44bff8f40a1ad70675\"\u003efe0a96ce6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate ID before attaching them to placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0 \u0026quot;aurostibite-ambulance\u0026quot; (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/75f6542fe71fda31d832e1c4ab75a7967b714530\"\u003e\u003ccode\u003e75f6542\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003e\u003ccode\u003ed7a8cb9\u003c/code\u003e\u003c/a\u003e fix(material/dialog): ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/issues/33373\"\u003e#33373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e\u003ccode\u003e49aeb67\u003c/code\u003e\u003c/a\u003e fix(cdk/clipboard): avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33366\"\u003e#33366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/5a5f6ebd82a1fa4b1e268f67ea3c44d736d033c6\"\u003e\u003ccode\u003e5a5f6eb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33326\"\u003e#33326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/ae48b2c3fca34146917d58f875c1978533d14054\"\u003e\u003ccode\u003eae48b2c\u003c/code\u003e\u003c/a\u003e docs(cdk/dialog): improve dialog example contrast (\u003ca href=\"https://redirect.github.com/angular/components/issues/33334\"\u003e#33334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1a68d18fc8a08dbdba3fd12bc4e092ab0cfb4d74\"\u003e\u003ccode\u003e1a68d18\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.34.1 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33316\"\u003e#33316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/c696e410aca8c9486ca80c52a5509b283f3612e3\"\u003e\u003ccode\u003ec696e41\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33331\"\u003e#33331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d84dca2656a7e9d1e16b1d124e1db0922a8694c4\"\u003e\u003ccode\u003ed84dca2\u003c/code\u003e\u003c/a\u003e build: update all github actions (\u003ca href=\"https://redirect.github.com/angular/components/issues/33348\"\u003e#33348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/da17b4c93529744861fd104fd5358aaea5cd2fe7\"\u003e\u003ccode\u003eda17b4c\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies to v3.2.1 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33350\"\u003e#33350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/7a8b3f76f643b7f9ff275af238181f6b5b9a5bde\"\u003e\u003ccode\u003e7a8b3f7\u003c/code\u003e\u003c/a\u003e docs(aria/menu): fix menubar example highlight styling (\u003ca href=\"https://redirect.github.com/angular/components/issues/33290\"\u003e#33290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.2.9...v22.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.10 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003ccode\u003edfff57e\u003c/code\u003e\u003c/a\u003e fix(common): Limits date format string length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003ccode\u003e1d87c49\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003ccode\u003effb06c0\u003c/code\u003e\u003c/a\u003e fix(http): ensure query parameters are inserted before URL fragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.10 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/booklore-app/booklore/pull/3418","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/booklore-app%2Fbooklore/issues/3418","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3418/packages"},{"uuid":"4594857804","node_id":"PR_kwDOEFZR6c7i_gfg","number":1245,"state":"closed","title":"Bump the npm-major group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["npm","dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T06:45:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-05T06:45:52.000Z","updated_at":"2026-06-12T06:45:21.000Z","time_to_close":604767,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-major","update_count":15,"packages":[{"name":"@angular/animations","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-major group with 15 updates in the /src/Moryx.Operators.Web/app directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.12` | `22.0.0` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.10` | `22.0.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `22.0.0` |\n| [@angular/material](https://github.com/angular/components) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `22.0.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.12` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `22.0.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `22.0.0` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `22.0.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@angular/animations` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d91f46b4c522159e025d3b94b653981f344a4fdf\"\u003e\u003cimg src=\"https://img.shields.io/badge/d91f46b4c-feat-blue\" alt=\"feat - d91f46b4c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eaccordion:\u003c/strong\u003e introduce accordion harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33046\"\u003e#33046\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e3d84f2e0adb9254d804c10ba24e6c4528efad53\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3d84f2e0-feat-blue\" alt=\"feat - e3d84f2e0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33194\"\u003e#33194\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0ca47b4a060595919fd2b2cd62d0097071c4795d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0ca47b4a0-feat-blue\" alt=\"feat - 0ca47b4a0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e migrate simple-combobox directly into primary entrypoints (\u003ca href=\"https://redirect.github.com/angular/components/issues/33206\"\u003e#33206\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6ec07bc0cbe39be48faaf6021caecf2d0037df1f\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec07bc0c-feat-blue\" alt=\"feat - 6ec07bc0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33081\"\u003e#33081\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1885d35346e05341532aed56ac476f9a9eae179b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1885d3534-feat-blue\" alt=\"feat - 1885d3534\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elistbox:\u003c/strong\u003e introduce listbox harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33064\"\u003e#33064\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75fae5275c5702e64477da6a2ac8a14428623c8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fae5275-feat-blue\" alt=\"feat - 75fae5275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e introduce menu harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33067\"\u003e#33067\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c25e6252ecf3b5a6472151a8fca4af093b3322e6\"\u003e\u003cimg src=\"https://img.shields.io/badge/c25e6252e-feat-blue\" alt=\"feat - c25e6252e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33079\"\u003e#33079\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a49508bacf419f2e8f0545158de1f951f3ba1c1a\"\u003e\u003cimg src=\"https://img.shields.io/badge/a49508bac-feat-blue\" alt=\"feat - a49508bac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etoolbar:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33068\"\u003e#33068\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/30f223972870c3016e8e14f4bafb913d22117e20\"\u003e\u003cimg src=\"https://img.shields.io/badge/30f223972-feat-blue\" alt=\"feat - 30f223972\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33066\"\u003e#33066\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/91a4932f65e02ce7087cb38cc0198b6f1f993242\"\u003e\u003cimg src=\"https://img.shields.io/badge/91a4932f6-fix-green\" alt=\"fix - 91a4932f6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e increases autocomplete demo's  placeholder text c… (\u003ca href=\"https://redirect.github.com/angular/components/issues/33084\"\u003e#33084\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/218a77cf946808ca966c131f56c393ef91c662b3\"\u003e\u003cimg src=\"https://img.shields.io/badge/218a77cf9-fix-green\" alt=\"fix - 218a77cf9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e separates placeholder prefixes (\u003ca href=\"https://redirect.github.com/angular/components/issues/33163\"\u003e#33163\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce1d9a7286b66e2c9511183586fceabf2a925c02\"\u003e\u003cimg src=\"https://img.shields.io/badge/ce1d9a728-fix-green\" alt=\"fix - ce1d9a728\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e allow menu item role override (\u003ca href=\"https://redirect.github.com/angular/components/issues/33264\"\u003e#33264\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/196b7064db336830ee9c43244c00631935dd2c55\"\u003e\u003cimg src=\"https://img.shields.io/badge/196b7064d-fix-green\" alt=\"fix - 196b7064d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e defer menu item focus in case menus in cdk overlay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33258\"\u003e#33258\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6443b79f9a629c67766675ebd740722eb65b2926\"\u003e\u003cimg src=\"https://img.shields.io/badge/6443b79f9-fix-green\" alt=\"fix - 6443b79f9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e unable to set softDisabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33265\"\u003e#33265\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1a5d5d101aa0c3d3113ca8e77f0dbe4175afe655\"\u003e\u003cimg src=\"https://img.shields.io/badge/1a5d5d101-feat-blue\" alt=\"feat - 1a5d5d101\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/24115c02189ca0b1b3f09a909b8962d330f55f91\"\u003e\u003cimg src=\"https://img.shields.io/badge/24115c021-feat-blue\" alt=\"feat - 24115c021\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eportal:\u003c/strong\u003e add directives support to ComponentPortal (\u003ca href=\"https://redirect.github.com/angular/components/issues/33142\"\u003e#33142\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7426334c5efb76ac3f359e26a7f6e48e29d4ec78\"\u003e\u003cimg src=\"https://img.shields.io/badge/7426334c5-fix-green\" alt=\"fix - 7426334c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/81c6bbd89da765a3ce8fd9dd8fd0b36b8eac4ca4\"\u003e\u003cimg src=\"https://img.shields.io/badge/81c6bbd89-fix-green\" alt=\"fix - 81c6bbd89\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ffb23f6f825a0e86cd6d9bf3505af70b2264e588\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb23f6f8-fix-green\" alt=\"fix - ffb23f6f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/4c298970ed67abfa7b9980e219bbbafe3c71ddc5\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c298970e-fix-green\" alt=\"fix - 4c298970e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003escrolling:\u003c/strong\u003e make it easier to provide custom scrollable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33269\"\u003e#33269\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/aa42b7798b23dfa94b96ac217d8139d9cfa86c55\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa42b7798-fix-green\" alt=\"fix - aa42b7798\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etable:\u003c/strong\u003e expose rendered rows (\u003ca href=\"https://redirect.github.com/angular/components/issues/33304\"\u003e#33304\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/867ba993b3baf35868d7c898e77289870316bbb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/867ba993b-feat-blue\" alt=\"feat - 867ba993b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebottom-sheet:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b4a89d5996864e591cfac762db420ec591d931e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a89d599-feat-blue\" alt=\"feat - b4a89d599\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e Add support for showing a progress indicator inside the button (\u003ca href=\"https://redirect.github.com/angular/components/issues/32698\"\u003e#32698\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a46b0a1d4200bf74b036c25ee477d22025f444c8\"\u003e\u003cimg src=\"https://img.shields.io/badge/a46b0a1d4-feat-blue\" alt=\"feat - a46b0a1d4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecore:\u003c/strong\u003e add mixins for Material Design typography (\u003ca href=\"https://redirect.github.com/angular/components/issues/32959\"\u003e#32959\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bf3596b53ba1cf118ec06343f8a7772e0fb0e55d\"\u003e\u003cimg src=\"https://img.shields.io/badge/bf3596b53-feat-blue\" alt=\"feat - bf3596b53\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/85c16fe4bb68d89d1f304350ecf965aeceea4662\"\u003e\u003cimg src=\"https://img.shields.io/badge/85c16fe4b-feat-blue\" alt=\"feat - 85c16fe4b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e add support for separate tab animation durations (\u003ca href=\"https://redirect.github.com/angular/components/issues/32869\"\u003e#32869\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/440cb16064a4daf50437e806057403cf80c52bd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/440cb1606-fix-green\" alt=\"fix - 440cb1606\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eautocomplete:\u003c/strong\u003e remove modal workaround\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/21f8bbbf226c1938c46fe2afcc4d8d070ec33c86\"\u003e\u003cimg src=\"https://img.shields.io/badge/21f8bbbf2-fix-green\" alt=\"fix - 21f8bbbf2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebadge:\u003c/strong\u003e allow badge defaults to be configured (\u003ca href=\"https://redirect.github.com/angular/components/issues/33312\"\u003e#33312\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/07c2d002de52de1691410543a83ffffd7a0b373b\"\u003e\u003cimg src=\"https://img.shields.io/badge/07c2d002d-fix-green\" alt=\"fix - 07c2d002d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecore:\u003c/strong\u003e address sass compiler warnings (\u003ca href=\"https://redirect.github.com/angular/components/issues/33040\"\u003e#33040\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003e\u003cimg src=\"https://img.shields.io/badge/add8f16c0-fix-green\" alt=\"fix - add8f16c0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/31904510be852961916283d830ae80167ee52dbb\"\u003e\u003cimg src=\"https://img.shields.io/badge/31904510b-fix-green\" alt=\"fix - 31904510b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e close menu when cleared from trigger (\u003ca href=\"https://redirect.github.com/angular/components/issues/33306\"\u003e#33306\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d73c98b5-fix-green\" alt=\"fix - 9d73c98b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/issues/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/348c3c89d511ab5f74fda95ef0f0ae7a332527fb\"\u003e\u003cimg src=\"https://img.shields.io/badge/348c3c89d-fix-green\" alt=\"fix - 348c3c89d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eselect:\u003c/strong\u003e remove modal workaround\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/f1a435508ada291b580e20e628464f552288690d\"\u003e\u003cimg src=\"https://img.shields.io/badge/f1a435508-fix-green\" alt=\"fix - f1a435508\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e handle mixed sidenav and drawer (\u003ca href=\"https://redirect.github.com/angular/components/issues/33274\"\u003e#33274\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c3161985279bf49f9aae55b732fdd3b2872e1f7e\"\u003e\u003cimg src=\"https://img.shields.io/badge/c31619852-fix-green\" alt=\"fix - c31619852\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e mark content as inert while open\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a4d92c5fcb7d163ec8dd180815175bbaa0a38491\"\u003e\u003cimg src=\"https://img.shields.io/badge/a4d92c5fc-fix-green\" alt=\"fix - a4d92c5fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e more robust reset logic for inert attribute (\u003ca href=\"https://redirect.github.com/angular/components/issues/33257\"\u003e#33257\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c2f1c5b035795079b155b9e60a290abe4d4c9537\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2f1c5b03-fix-green\" alt=\"fix - c2f1c5b03\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e query not resolving\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e\u003cimg src=\"https://img.shields.io/badge/75718e4fb-fix-green\" alt=\"fix - 75718e4fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6ed6218c474bfe4578b17d2391d8677fe92671cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ed6218c4-fix-green\" alt=\"fix - 6ed6218c4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e incorrect animation variable name (\u003ca href=\"https://redirect.github.com/angular/components/issues/32941\"\u003e#32941\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 \u0026quot;aurostibite-ambulance\u0026quot; (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003emultiple\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eA bunch of constructors that with rest arguments have been removed. If you were extending Material/CDK components, you may have to update your \u003ccode\u003esuper\u003c/code\u003e calls accordingly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRenames the values input/model to value in Combobox, Listbox, Tree, Menu, Toolbar, and Select. Users must update their templates to use the value property instead of values.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(multiple): update api goldens\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e44ff8318911927624d90e0d2fcba6ee94ec5ff7\"\u003ee44ff8318\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd support for the gmp-click event (\u003ca href=\"https://redirect.github.com/angular/components/pull/33147\"\u003e#33147\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/867ba993b3baf35868d7c898e77289870316bbb9\"\u003e867ba993b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebottom-sheet:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b4a89d5996864e591cfac762db420ec591d931e2\"\u003eb4a89d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e Add support for showing a progress indicator inside the button (\u003ca href=\"https://redirect.github.com/angular/components/pull/32698\"\u003e#32698\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a46b0a1d4200bf74b036c25ee477d22025f444c8\"\u003ea46b0a1d4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecore:\u003c/strong\u003e add mixins for Material Design typography (\u003ca href=\"https://redirect.github.com/angular/components/pull/32959\"\u003e#32959\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bf3596b53ba1cf118ec06343f8a7772e0fb0e55d\"\u003ebf3596b53\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/85c16fe4bb68d89d1f304350ecf965aeceea4662\"\u003e85c16fe4b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e add support for separate tab animation durations (\u003ca href=\"https://redirect.github.com/angular/components/pull/32869\"\u003e#32869\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/440cb16064a4daf50437e806057403cf80c52bd6\"\u003e440cb1606\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eautocomplete:\u003c/strong\u003e remove modal workaround\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/85e1545a29531ac366b09c72a6d41329c845a71b\"\u003e\u003ccode\u003e85e1545\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/da5c575d9120d90bbe740507792bb3230897e95a\"\u003e\u003ccode\u003eda5c575\u003c/code\u003e\u003c/a\u003e build: attempt to address flaky test (\u003ca href=\"https://redirect.github.com/angular/components/issues/33332\"\u003e#33332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/daa6d8db8eec2bf86dcc0f89a3f5c87bc7970533\"\u003e\u003ccode\u003edaa6d8d\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.0-rc.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/47c0525097f43a74c97c940a4672c390d0e8af76\"\u003e\u003ccode\u003e47c0525\u003c/code\u003e\u003c/a\u003e build: prevent docs site from rendering Aria examples under Material (\u003ca href=\"https://redirect.github.com/angular/components/issues/33324\"\u003e#33324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/21f8bbbf226c1938c46fe2afcc4d8d070ec33c86\"\u003e\u003ccode\u003e21f8bbb\u003c/code\u003e\u003c/a\u003e fix(material/badge): allow badge defaults to be configured (\u003ca href=\"https://redirect.github.com/angular/components/issues/33312\"\u003e#33312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/8c8d1a16cd541dd74a548ed0799c8df4f5b68153\"\u003e\u003ccode\u003e8c8d1a1\u003c/code\u003e\u003c/a\u003e docs(material/bottom-sheet): update panelClass comment (\u003ca href=\"https://redirect.github.com/angular/components/issues/33321\"\u003e#33321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/8339e2fa3146d39c5c9ca82db64ce266c2fa2309\"\u003e\u003ccode\u003e8339e2f\u003c/code\u003e\u003c/a\u003e build: update dev-infra actions to 649c3afeaa46674507b9625537e49de54a695e2b (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/10935f0ed2d1ca2cb23410de50e9f10bed93cf6f\"\u003e\u003ccode\u003e10935f0\u003c/code\u003e\u003c/a\u003e refactor(multiple): migrate tests to use whenStable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33317\"\u003e#33317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/975068516466430baf050e08cd77c4c4f4c85b4d\"\u003e\u003ccode\u003e9750685\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33256\"\u003e#33256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/5ba22b6f814e1f4b4345f7850cdcd17aa17fa495\"\u003e\u003ccode\u003e5ba22b6\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33270\"\u003e#33270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f7b3ed8db28c69ee0de9144465da351bda7e85e4\"\u003e\u003ccode\u003ef7b3ed8\u003c/code\u003e\u003c/a\u003e fix(http): Introduce a max buffer size for fetch requests on SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/618c8502829a1f2ca8ce048fdf4d8085b956734c\"\u003e\u003ccode\u003e618c850\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86390f2be41b2aae352b0c1ce4a5285fd065ef17\"\u003e\u003ccode\u003e86390f2\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6cfaf567256f5e89903f6b5625540e5a4a3bde3\"\u003e\u003ccode\u003ee6cfaf5\u003c/code\u003e\u003c/a\u003e fix(http): prevent \u003ccode\u003ehttpResource\u003c/code\u003e from leaking a subscription\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7d1fbc170a90ca12a3c1b805645bc37d12ed744d\"\u003e\u003ccode\u003e7d1fbc1\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae2cb00398954d9332e9f1f5abecce902cfc7658\"\u003e\u003ccode\u003eae2cb00\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc0fa6e3ded6dd3faa58800a140e49302adc38c8\"\u003e\u003ccode\u003ecc0fa6e\u003c/code\u003e\u003c/a\u003e refactor(http): update HTTP resource options APIs to stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/PHOENIXCONTACT/MORYX-Framework/pull/1245","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHOENIXCONTACT%2FMORYX-Framework/issues/1245","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1245/packages"},{"uuid":"4594769774","node_id":"PR_kwDOEFZR6c7i_OGA","number":1242,"state":"closed","title":"Bump the npm-major group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["npm","dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T06:28:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-05T06:29:26.000Z","updated_at":"2026-06-12T06:28:36.000Z","time_to_close":604748,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-major","update_count":14,"packages":[{"name":"@angular/animations","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-major group with 14 updates in the /src/Moryx.FactoryMonitor.Web/app directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.12` | `22.0.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `22.0.0` |\n| [@angular/material](https://github.com/angular/components) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `22.0.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.12` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `22.0.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `22.0.0` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `22.0.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@angular/animations` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f7b3ed8db28c69ee0de9144465da351bda7e85e4\"\u003e\u003ccode\u003ef7b3ed8\u003c/code\u003e\u003c/a\u003e fix(http): Introduce a max buffer size for fetch requests on SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/618c8502829a1f2ca8ce048fdf4d8085b956734c\"\u003e\u003ccode\u003e618c850\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86390f2be41b2aae352b0c1ce4a5285fd065ef17\"\u003e\u003ccode\u003e86390f2\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6cfaf567256f5e89903f6b5625540e5a4a3bde3\"\u003e\u003ccode\u003ee6cfaf5\u003c/code\u003e\u003c/a\u003e fix(http): prevent \u003ccode\u003ehttpResource\u003c/code\u003e from leaking a subscription\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7d1fbc170a90ca12a3c1b805645bc37d12ed744d\"\u003e\u003ccode\u003e7d1fbc1\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae2cb00398954d9332e9f1f5abecce902cfc7658\"\u003e\u003ccode\u003eae2cb00\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc0fa6e3ded6dd3faa58800a140e49302adc38c8\"\u003e\u003ccode\u003ecc0fa6e\u003c/code\u003e\u003c/a\u003e refactor(http): update HTTP resource options APIs to stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2891f7e7879238d941a7c40ebd51896fcd2fe6bb\"\u003e\u003ccode\u003e2891f7e\u003c/code\u003e\u003c/a\u003e fix(compiler): move projection attributes into constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d520fb671fc7774341947b872ed0e387689db9\"\u003e\u003ccode\u003e94d520f\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent namespaced SVG \u0026lt;style\u0026gt; elements from being stripped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d9c38e552db7efd868c4de815d6cde4ab0b14bc0\"\u003e\u003ccode\u003ed9c38e5\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a08e4fb93c371252da16b3b22cbf78f4ac180fa2\"\u003e\u003ccode\u003ea08e4fb\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003ccode\u003eab9154a\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003ccode\u003e6ff620a\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2200b4a85481abde02e40eb8f6d67227f6ac21e9\"\u003e\u003ccode\u003e2200b4a\u003c/code\u003e\u003c/a\u003e refactor(compiler): add support for compiling NgModules under isolatedDeclara...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b2b8dea7325c8d0d6788bbee6100d406f6ebe355\"\u003e\u003ccode\u003eb2b8dea\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/88d138ccc84b839784f59575fddcda3fcaf18d35\"\u003e\u003ccode\u003e88d138c\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --...\n\n_Description has been truncated_","html_url":"https://github.com/PHOENIXCONTACT/MORYX-Framework/pull/1242","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHOENIXCONTACT%2FMORYX-Framework/issues/1242","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1242/packages"},{"uuid":"4594708072","node_id":"PR_kwDOSrrGF87i_BYE","number":12,"state":"closed","title":"Bump the angular group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T06:16:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-05T06:17:23.000Z","updated_at":"2026-06-12T06:16:53.000Z","time_to_close":604768,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":14,"packages":[{"name":"@angular/animations","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/localize","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-server","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cli","old_version":"20.3.26","new_version":"20.3.27","repository_url":"https://github.com/angular/angular-cli"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `20.3.21` | `20.3.24` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `20.3.21` | `20.3.24` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `20.3.21` | `20.3.24` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `20.3.21` | `20.3.24` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `20.3.21` | `20.3.24` |\n| [@angular/localize](https://github.com/angular/angular) | `20.3.21` | `20.3.24` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `20.3.21` | `20.3.24` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `20.3.21` | `20.3.24` |\n| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `20.3.21` | `20.3.24` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `20.3.21` | `20.3.24` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `20.3.26` | `20.3.27` |\n\n\nUpdates `@angular/animations` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e6ca433e56b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e8680b5152f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.24/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e6ca433e56b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e8680b5152f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003ccode\u003e3d135ce\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003ccode\u003e39a4b4c\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003ccode\u003ede7b2a6\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003ccode\u003e4233188\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.24/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e6ca433e56b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e8680b5152f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003ccode\u003ed40acc6\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent namespaced SVG \u0026lt;style\u0026gt; elements from being stripped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ae6381a4845ad4b13a7a5574c5433b077c93c5c\"\u003e\u003ccode\u003e7ae6381\u003c/code\u003e\u003c/a\u003e test(compiler-cli): align ngtsc sanitization expectations with modern DOM sch...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/36200bd81a3420d8222dfe10767437c383a20fe8\"\u003e\u003ccode\u003e36200bd\u003c/code\u003e\u003c/a\u003e test(core): update spec files to match 20.3.x limits and actual contexts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68\"\u003e#68\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/823b37f0468f7c8b38637ce93e26fc8db791b282\"\u003e\u003ccode\u003e823b37f\u003c/code\u003e\u003c/a\u003e test(compiler): remove obsolete schema_extractor import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003ccode\u003ee345a58\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003ccode\u003e8f35b18\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003ccode\u003e64a89e9\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003ccode\u003e6404edf\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003ccode\u003edc631ef\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b66843ed2ee0805fd0bb8d3d5ea5dc356a0387f\"\u003e\u003ccode\u003e3b66843\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.24/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e6ca433e56b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e8680b5152f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ae6381a4845ad4b13a7a5574c5433b077c93c5c\"\u003e\u003ccode\u003e7ae6381\u003c/code\u003e\u003c/a\u003e test(compiler-cli): align ngtsc sanitization expectations with modern DOM sch...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/65954092483a88fc69cccd3b4c56d96450ac2fe8\"\u003e\u003ccode\u003e6595409\u003c/code\u003e\u003c/a\u003e test(core): update golden symbols and host bindings sanitization spec (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003ccode\u003ed86e4e7\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8f1f7276514e258e8c815ec5c7d9b8826ecd372\"\u003e\u003ccode\u003eb8f1f72\u003c/code\u003e\u003c/a\u003e test(core): remove obsolete blockquote cite host binding tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/36200bd81a3420d8222dfe10767437c383a20fe8\"\u003e\u003ccode\u003e36200bd\u003c/code\u003e\u003c/a\u003e test(core): update spec files to match 20.3.x limits and actual contexts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68\"\u003e#68\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81e70d3ea70d2d8a1541834ac3b69e570d3fdb6f\"\u003e\u003ccode\u003e81e70d3\u003c/code\u003e\u003c/a\u003e refactor(core): resolve merge conflicts in sanitization.ts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003ccode\u003e909ef04\u003c/code\u003e\u003c/a\u003e fix(core): synchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003ccode\u003ee345a58\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003ccode\u003e8f35b18\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003ccode\u003e64a89e9\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.24/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003ct...\n\n_Description has been truncated_","html_url":"https://github.com/gflores390/front-dspace9/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gflores390%2Ffront-dspace9/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"4585204229","node_id":"PR_kwDOJgPHWM7ifvW4","number":900,"state":"open","title":"chore(deps): bump @angular/animations from 21.2.15 to 22.0.0","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T02:16:33.000Z","updated_at":"2026-06-04T02:17:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/animations","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 21.2.15 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/animations\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.15\u0026new-version=22.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sto-info-app/sto-info-frontend/pull/900","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sto-info-app%2Fsto-info-frontend/issues/900","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/900/packages"},{"uuid":"4581848547","node_id":"PR_kwDOKbt4Ps7iUjFC","number":271,"state":"closed","title":"chore(deps): bump the examples group across 18 directories with 33 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-07T06:55:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T16:43:33.000Z","updated_at":"2026-06-07T06:55:04.000Z","time_to_close":310290,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"examples","update_count":33,"packages":[{"name":"@angular/animations","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@analogjs/vite-plugin-angular","old_version":"2.4.10","new_version":"2.6.0","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular/build","old_version":"21.2.8","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@hey-api/openapi-ts","old_version":"0.96.1","new_version":"0.98.1","repository_url":"https://github.com/hey-api/openapi-ts"}],"path":null,"ecosystem":"npm"},"body":"Bumps the examples group with 12 updates in the /examples/angular directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.10` | `22.0.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.10` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.10` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.10` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.10` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.10` | `22.0.0` |\n| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) | `2.4.10` | `2.6.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.10` | `22.0.0` |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n\nBumps the examples group with 14 updates in the /examples/angular-cli directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.10` | `22.0.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.10` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.10` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.10` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.10` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.10` | `22.0.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.10` | `22.0.0` |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.4` | `4.3.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.12` | `8.5.15` |\n\nBumps the examples group with 3 updates in the /examples/astro directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) and [zod](https://github.com/colinhacks/zod).\nBumps the examples group with 4 updates in the /examples/nuxt directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [zod](https://github.com/colinhacks/zod), [vue](https://github.com/vuejs/core) and [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc).\nBumps the examples group with 5 updates in the /examples/react directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.2` | `7.16.0` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n\nBumps the examples group with 7 updates in the /examples/react-inertia directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@inertiajs/react](https://github.com/inertiajs/inertia/tree/HEAD/packages/react) | `3.0.3` | `3.3.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n\nBumps the examples group with 7 updates in the /examples/react-inertia-jinja directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@inertiajs/react](https://github.com/inertiajs/inertia/tree/HEAD/packages/react) | `3.0.3` | `3.3.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n\nBumps the examples group with 6 updates in the /examples/react-router directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.2` | `7.16.0` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n\nBumps the examples group with 8 updates in the /examples/react-tanstack directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n| [@tanstack/react-router](https://github.com/TanStack/router/tree/HEAD/packages/react-router) | `1.168.25` | `1.170.11` |\n| [@tanstack/router-plugin](https://github.com/TanStack/router/tree/HEAD/packages/router-plugin) | `1.167.28` | `1.168.14` |\n\nBumps the examples group with 3 updates in the /examples/svelte directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte) and [svelte-check](https://github.com/sveltejs/language-tools).\nBumps the examples group with 4 updates in the /examples/svelte-inertia directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte), [svelte-check](https://github.com/sveltejs/language-tools) and [@inertiajs/svelte](https://github.com/inertiajs/inertia/tree/HEAD/packages/svelte).\nBumps the examples group with 5 updates in the /examples/svelte-inertia-jinja directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte) | `7.0.0` | `7.1.2` |\n| [svelte-check](https://github.com/sveltejs/language-tools) | `4.4.6` | `4.5.0` |\n| [@inertiajs/svelte](https://github.com/inertiajs/inertia/tree/HEAD/packages/svelte) | `3.0.3` | `3.3.0` |\n\nBumps the examples group with 5 updates in the /examples/sveltekit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte) | `7.0.0` | `7.1.2` |\n| [svelte-check](https://github.com/sveltejs/language-tools) | `4.4.6` | `4.5.0` |\n| [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) | `2.60.1` | `2.62.0` |\n\nBumps the examples group with 3 updates in the /examples/vue directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) and [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue).\nBumps the examples group with 6 updates in the /examples/vue-inertia directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.33` | `3.5.35` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.3` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@inertiajs/vue3](https://github.com/inertiajs/inertia/tree/HEAD/packages/vue3) | `3.0.3` | `3.3.0` |\n\nBumps the examples group with 6 updates in the /examples/vue-inertia-jinja directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.33` | `3.5.35` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.3` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@inertiajs/vue3](https://github.com/inertiajs/inertia/tree/HEAD/packages/vue3) | `3.0.3` | `3.3.0` |\n\nBumps the examples group with 7 updates in the /examples/vue-inertia-jinja-ssr directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.33` | `3.5.35` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.3` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@inertiajs/vue3](https://github.com/inertiajs/inertia/tree/HEAD/packages/vue3) | `3.0.3` | `3.3.0` |\n| [@vue/server-renderer](https://github.com/vuejs/core/tree/HEAD/packages/server-renderer) | `3.5.33` | `3.5.35` |\n\nBumps the examples group with 7 updates in the /examples/vue-inertia-ssr directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.33` | `3.5.35` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.3` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@inertiajs/vue3](https://github.com/inertiajs/inertia/tree/HEAD/packages/vue3) | `3.0.3` | `3.3.0` |\n| [@vue/server-renderer](https://github.com/vuejs/core/tree/HEAD/packages/server-renderer) | `3.5.33` | `3.5.35` |\n\n\nUpdates `@angular/animations` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e47fcbc4704\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e47fcbc4704\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f7b3ed8db28c69ee0de9144465da351bda7e85e4\"\u003e\u003ccode\u003ef7b3ed8\u003c/code\u003e\u003c/a\u003e fix(http): Introduce a max buffer size for fetch requests on SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/618c8502829a1f2ca8ce048fdf4d8085b956734c\"\u003e\u003ccode\u003e618c850\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86390f2be41b2aae352b0c1ce4a5285fd065ef17\"\u003e\u003ccode\u003e86390f2\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6cfaf567256f5e89903f6b5625540e5a4a3bde3\"\u003e\u003ccode\u003ee6cfaf5\u003c/code\u003e\u003c/a\u003e fix(http): prevent \u003ccode\u003ehttpResource\u003c/code\u003e from leaking a subscription\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7d1fbc170a90ca12a3c1b805645bc37d12ed744d\"\u003e\u003ccode\u003e7d1fbc1\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae2cb00398954d9332e9f1f5abecce902cfc7658\"\u003e\u003ccode\u003eae2cb00\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc0fa6e3ded6dd3faa58800a140e49302adc38c8\"\u003e\u003ccode\u003ecc0fa6e\u003c/code\u003e\u003c/a\u003e refactor(http): update HTTP resource options APIs to stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e47fcbc4704\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2891f7e7879238d941a7c40ebd51896fcd2fe6bb\"\u003e\u003ccode\u003e2891f7e\u003c/code\u003e\u003c/a\u003e fix(compiler): move projection attributes into constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d520fb671fc7774341947b872ed0e387689db9\"\u003e\u003ccode\u003e94d520f\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent namespaced SVG \u0026lt;style\u0026gt; elements from being stripped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d9c38e552db7efd868c4de815d6cde4ab0b14bc0\"\u003e\u003ccode\u003ed9c38e5\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a08e4fb93c371252da16b3b22cbf78f4ac180fa2\"\u003e\u003ccode\u003ea08e4fb\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003ccode\u003eab9154a\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003ccode\u003e6ff620a\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2200b4a85481abde02e40eb8f6d67227f6ac21e9\"\u003e\u003ccode\u003e2200b4a\u003c/code\u003e\u003c/a\u003e refactor(compiler): add support for compiling NgModules under isolatedDeclara...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b2b8dea7325c8d0d6788bbee6100d406f6ebe355\"\u003e\u003ccode\u003eb2b8dea\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/88d138ccc84b839784f59575fddcda3fcaf18d35\"\u003e\u003ccode\u003e88d138c\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/litestar-org/litestar-vite/pull/271","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/litestar-org%2Flitestar-vite/issues/271","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/271/packages"},{"uuid":"4578005191","node_id":"PR_kwDOM27-6c7iH5B6","number":346,"state":"closed","title":"build(deps): bump @angular/animations from 20.3.4 to 21.2.15","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T20:54:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T08:01:45.000Z","updated_at":"2026-06-08T20:54:29.000Z","time_to_close":478362,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"@angular/animations","old_version":"20.3.4","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 20.3.4 to 21.2.15.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7907e982ee90778e596d3e849f0a31c6c26db235\"\u003e\u003ccode\u003e7907e98\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2b257b36590677d436d45e98cefe7ca886c7bd57\"\u003e\u003ccode\u003e2b257b3\u003c/code\u003e\u003c/a\u003e fix(animations): account for \u003ccode\u003eElement.animate\u003c/code\u003e exceptions (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64506\"\u003e#64506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dde5badb7133826187314e07fcdc578297aabbc9\"\u003e\u003ccode\u003edde5bad\u003c/code\u003e\u003c/a\u003e fix(core): prevent animations renderer from impacting \u003ccode\u003eanimate.leave\u003c/code\u003e (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63921\"\u003e#63921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c3576506b3c13389e18fa4c0c29bdf536f604142\"\u003e\u003ccode\u003ec357650\u003c/code\u003e\u003c/a\u003e refactor(core): Update tests for zoneless by default (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63668\"\u003e#63668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/021ead5399ab1136da160c7348ec8555ef5ee8fd\"\u003e\u003ccode\u003e021ead5\u003c/code\u003e\u003c/a\u003e refactor(animations): remove dependency on \u003ccode\u003e@angular/common\u003c/code\u003e (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63248\"\u003e#63248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/abdur1547/angular_starter/pull/346","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdur1547%2Fangular_starter/issues/346","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/346/packages"},{"uuid":"4560727246","node_id":"PR_kwDOLJ4mQ87hPZ7J","number":125,"state":"closed","title":"chore(deps): bump the node-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T03:15:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T05:59:46.000Z","updated_at":"2026-06-08T03:15:47.000Z","time_to_close":594959,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"node-dependencies","update_count":12,"packages":[{"name":"@angular/animations","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@srgssr/pillarbox-web","old_version":"1.34.2","new_version":"1.35.1","repository_url":"https://github.com/SRGSSR/pillarbox-web"},{"name":"@angular/build","old_version":"21.2.11","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.11","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the node-dependencies group with 12 updates in the /samples/angular directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.13` | `21.2.15` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.13` | `21.2.15` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.13` | `21.2.15` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.13` | `21.2.15` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.13` | `21.2.15` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.13` | `21.2.15` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.13` | `21.2.15` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.13` | `21.2.15` |\n| [@srgssr/pillarbox-web](https://github.com/SRGSSR/pillarbox-web) | `1.34.2` | `1.35.1` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.13` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.13` | `21.2.15` |\n\n\nUpdates `@angular/animations` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003ccode\u003e582a417\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003ccode\u003e5c6d6df\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003ccode\u003e300f61f\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003ccode\u003e7f4ac78\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003ccode\u003eeb1cbbf\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent namespaced SVG \u0026lt;style\u0026gt; elements from being stripped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003ccode\u003e782e015\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003ccode\u003eff12fe5\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003ccode\u003e0b07f47\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003ccode\u003ecc1378d\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003ccode\u003edaaf329\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/251c8f27409e05b540bf9a27ab90c8c0c7efdbca\"\u003e\u003ccode\u003e251c8f2\u003c/code\u003e\u003c/a\u003e test(core): remove obsolete SVG script sanitization translation test (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003ccode\u003edada86e\u003c/code\u003e\u003c/a\u003e fix(core): synchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003ccode\u003e782e015\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003ccode\u003eff12fe5\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003ccode\u003e0b07f47\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003ccode\u003ecc1378d\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003ccode\u003edaaf329\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/SRGSSR/pillarbox-web-demo/pull/125","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRGSSR%2Fpillarbox-web-demo/issues/125","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/125/packages"},{"uuid":"4556980591","node_id":"PR_kwDOFA51sc7hD9Wy","number":71,"state":"closed","title":"build(deps): bump @angular/animations from 21.2.14 to 21.2.15","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-31T08:17:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T08:13:15.000Z","updated_at":"2026-05-31T08:17:10.000Z","time_to_close":226,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"@angular/animations","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 21.2.14 to 21.2.15.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/animations\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.14\u0026new-version=21.2.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/phip1611/wambo-web/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/phip1611%2Fwambo-web/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"},{"uuid":"4552425422","node_id":"PR_kwDOE9vB187g2LE6","number":140,"state":"open","title":"build(deps): bump @angular/animations from 21.2.10 to 21.2.15","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T00:16:57.000Z","updated_at":"2026-05-30T00:16:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"@angular/animations","old_version":"21.2.10","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 21.2.10 to 21.2.15.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/animations\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.10\u0026new-version=21.2.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/marcel-tov/angular-sudoku/pull/140","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcel-tov%2Fangular-sudoku/issues/140","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/140/packages"},{"uuid":"4539401124","node_id":"PR_kwDOInCflM7gLeDA","number":778,"state":"open","title":"Bump the all-dependencies group in /app-components with 17 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T09:45:30.000Z","updated_at":"2026-05-31T09:01:12.930Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-dependencies","update_count":17,"packages":[{"name":"@angular/animations","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.9","new_version":"21.2.13","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/elements","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular-eslint/builder","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/eslint-plugin","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/eslint-plugin-template","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/schematics","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/template-parser","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":"/app-components","ecosystem":"npm"},"body":"Bumps the all-dependencies group in /app-components with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.11` | `21.2.14` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.9` | `21.2.13` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.11` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.11` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.11` | `21.2.14` |\n| [@angular/elements](https://github.com/angular/angular/tree/HEAD/packages/elements) | `21.2.11` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.11` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.11` | `21.2.14` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.11` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.11` | `21.2.14` |\n| [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/eslint-plugin](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/eslint-plugin-template](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin-template) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/template-parser](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/template-parser) | `21.3.1` | `21.4.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.2` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.2` | `8.60.0` |\n\nUpdates `@angular/animations` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.9 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003e\u003cimg src=\"https://img.shields.io/badge/da87be7646-fix-green\" alt=\"fix - da87be7646\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/issues/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003cimg src=\"https://img.shields.io/badge/48973661e-fix-green\" alt=\"fix - 48973661e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 \u0026quot;21-2-13\u0026quot; (2026-05-27)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.1 \u0026quot;metal-monkey\u0026quot; (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce1d9a7286b66e2c9511183586fceabf2a925c02\"\u003ece1d9a7286\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e allow menu item role override (\u003ca href=\"https://redirect.github.com/angular/components/pull/33264\"\u003e#33264\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/196b7064db336830ee9c43244c00631935dd2c55\"\u003e196b7064db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e defer menu item focus in case menus in cdk overlay (\u003ca href=\"https://redirect.github.com/angular/components/pull/33258\"\u003e#33258\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6443b79f9a629c67766675ebd740722eb65b2926\"\u003e6443b79f9a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e unable to set softDisabled (\u003ca href=\"https://redirect.github.com/angular/components/pull/33265\"\u003e#33265\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/4c298970ed67abfa7b9980e219bbbafe3c71ddc5\"\u003e4c298970ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003escrolling:\u003c/strong\u003e make it easier to provide custom scrollable (\u003ca href=\"https://redirect.github.com/angular/components/pull/33269\"\u003e#33269\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/f2f62675e19020fb6443f1477b4b1d93015a5927\"\u003ef2f62675e1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/pull/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/f1a435508ada291b580e20e628464f552288690d\"\u003ef1a435508a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e handle mixed sidenav and drawer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33274\"\u003e#33274\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a4d92c5fcb7d163ec8dd180815175bbaa0a38491\"\u003ea4d92c5fcb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e more robust reset logic for inert attribute (\u003ca href=\"https://redirect.github.com/angular/components/pull/33257\"\u003e#33257\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.12 \u0026quot;plastic-moose\u0026quot; (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003eda87be7646\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/pull/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 \u0026quot;crystal lotion\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c3161985279bf49f9aae55b732fdd3b2872e1f7e\"\u003ec316198527\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e mark content as inert while open\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c2f1c5b035795079b155b9e60a290abe4d4c9537\"\u003ec2f1c5b035\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e query not resolving\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emultiple\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/84f2afd24933c8742662ee6d12a6f3f98f5dea9e\"\u003e84f2afd249\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove developer preview tag from aria (\u003ca href=\"https://redirect.github.com/angular/components/pull/33232\"\u003e#33232\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/7828452e964b62f058f83f0d97cf9daedf875b57\"\u003e\u003ccode\u003e7828452\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.13 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e43b7aacd86fb00e34e894d9093a8255e4201ec8\"\u003e\u003ccode\u003ee43b7aa\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003e\u003ccode\u003eda87be7\u003c/code\u003e\u003c/a\u003e fix(material/datepicker): ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/issues/33281\"\u003e#33281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e101874701ed790345f2af292cee81fff573a46e\"\u003e\u003ccode\u003ee101874\u003c/code\u003e\u003c/a\u003e docs(material/tooltip): fix tooltip-position-at-origin example overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33218\"\u003e#33218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/583da8a564dcb667cb8928e79d286eadee0a5013\"\u003e\u003ccode\u003e583da8a\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.10 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/babfbb7430547d5f4558174aec1a07ce6c67a26f\"\u003e\u003ccode\u003ebabfbb7\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33205\"\u003e#33205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e08fdf2a6a120078b512043bf5804bc3c7f9716a\"\u003e\u003ccode\u003ee08fdf2\u003c/code\u003e\u003c/a\u003e build: fix failing test (\u003ca href=\"https://redirect.github.com/angular/components/issues/33212\"\u003e#33212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/09e89fa188f157c0892019a461459cd9a252a673\"\u003e\u003ccode\u003e09e89fa\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33201\"\u003e#33201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003ccode\u003e4897366\u003c/code\u003e\u003c/a\u003e fix(aria/menu): do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.2.9...v21.2.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/30cf85f71c52683016200ecf6d68b4418084ee6e\"\u003e\u003ccode\u003e30cf85f\u003c/code\u003e\u003c/a\u003e refactor(common): update deprecation message\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003ccode\u003e9e38ed7\u003c/code\u003e\u003c/a\u003e fix(core): sanitizer typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003ccode\u003e3430251\u003c/code\u003e\u003c/a\u003e fix(core): i18n flags leaking on errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/elements` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/elements's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/elements's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/t...\n\n_Description has been truncated_\n\n\u003c!-- CURSOR_SUMMARY --\u003e\n---\n\n\u003e [!NOTE]\n\u003e **Medium Risk**\n\u003e Patch-level Angular updates can change runtime security and template/host binding behavior; verify build, tests, and lint even though no app source changed.\n\u003e \n\u003e **Overview**\n\u003e This PR **only updates dependencies** in `app-components` (`package.json` and `package-lock.json`); there are **no application source changes**.\n\u003e \n\u003e **Runtime Angular** packages move from **21.2.11 → 21.2.14** (and `@angular/cdk` **21.2.9 → 21.2.13**), covering animations, common, compiler, core, elements, forms, platform-browser, platform-browser-dynamic, and router.\n\u003e \n\u003e **Tooling** bumps include `@angular-eslint/*` **21.3.1 → 21.4.0** and `@typescript-eslint/eslint-plugin` **8.59.2 → 8.60.0**; the lockfile also refreshes related transitive versions (e.g. Rollup, msgpackr, more `@typescript-eslint/*` at 8.60.0).\n\u003e \n\u003e Several devDependency pins in `package.json` are **unchanged** in this diff (e.g. `@angular/compiler-cli`, `@angular/cli`, `@angular-eslint/template-parser`, `@typescript-eslint/parser`), so the tree may still mix patch levels until a follow-up align.\n\u003e \n\u003e **Review focus:** run `npm ci`, `ng build`, `ng test`, and `ng lint` in `app-components`; upstream 21.2.x patches include security and binding/sanitizer fixes that can affect behavior without local code edits.\n\u003e \n\u003e \u003csup\u003eReviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 87753c54359befd1ea741db176e029e1dc1bd869. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).\u003c/sup\u003e\n\u003c!-- /CURSOR_SUMMARY --\u003e","html_url":"https://github.com/trimble-oss/modus-icons/pull/778","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/trimble-oss%2Fmodus-icons/issues/778","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/778/packages"},{"uuid":"4513696088","node_id":"PR_kwDOSgJ7t87e4G98","number":66,"state":"open","title":"chore(deps): bump the angular group in /frontend with 11 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T01:42:16.000Z","updated_at":"2026-05-25T01:42:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"angular","update_count":11,"packages":[{"name":"@angular/animations","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/build-angular","old_version":"21.2.3","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.3","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/frontend","ecosystem":"npm"},"body":"Bumps the angular group in /frontend with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.5` | `21.2.14` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.5` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.5` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.5` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.5` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.5` | `21.2.14` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.5` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.5` | `21.2.14` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.5` | `21.2.14` |\n\nUpdates `@angular/animations` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/30cf85f71c52683016200ecf6d68b4418084ee6e\"\u003e\u003ccode\u003e30cf85f\u003c/code\u003e\u003c/a\u003e refactor(common): update deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/42d57c35781fb65fc4d44df59b6a85287664216a\"\u003e\u003ccode\u003e42d57c3\u003c/code\u003e\u003c/a\u003e refactor(common): fix viewport tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003ccode\u003e10ad3c0\u003c/code\u003e\u003c/a\u003e fix(common): prevent focus from scrollToAnchor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/540536c386f2c735a700c2c9e2697a88dcb3d4ec\"\u003e\u003ccode\u003e540536c\u003c/code\u003e\u003c/a\u003e fix(http): add CSP nonce support to JsonpClientBackend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8102331f82c808ca2256ba51a1d83803a61beabb\"\u003e\u003ccode\u003e8102331\u003c/code\u003e\u003c/a\u003e test(http): disable XSRF and mock location in HttpClient tests to avoid Domin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/13f050d2204285173273ebbfe9b34bc1b3c63c80\"\u003e\u003ccode\u003e13f050d\u003c/code\u003e\u003c/a\u003e test: construct local \u003ccode\u003eDate\u003c/code\u003e objects to fix timezone flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d0cf2995a2b63eb13fe574770ee8a756277852a4\"\u003e\u003ccode\u003ed0cf299\u003c/code\u003e\u003c/a\u003e test: remove unsupported timezone from \u003ccode\u003eformatDate\u003c/code\u003e tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b4ab6ba2e84a18309b0bb5dd68311ff1776b1cb4\"\u003e\u003ccode\u003eb4ab6ba\u003c/code\u003e\u003c/a\u003e fix(common): avoid redundant image fetch on destroy with auto sizes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003ccode\u003e4f5d8a2\u003c/code\u003e\u003c/a\u003e fix(compiler): let declaration span not including end character\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a4f312060cdf745e4fb0b15eda24ee2b4df0440c\"\u003e\u003ccode\u003ea4f3120\u003c/code\u003e\u003c/a\u003e refactor(compiler): require a reference in DirectiveMeta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/de533fe49181ee7409fd0b0ae4c0391a1e220ee6\"\u003e\u003ccode\u003ede533fe\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): move ClassPropertyMapping into compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ea1e34c4ddf404cde8d5c4ba0ba762bb0b9edbf8\"\u003e\u003ccode\u003eea1e34c\u003c/code\u003e\u003c/a\u003e refactor(compiler): move matchSource into base metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e40d378f3e3e7e57a45c8fbd9565ee06a3a6a13f\"\u003e\u003ccode\u003ee40d378\u003c/code\u003e\u003c/a\u003e fix(compiler): handle nested brackets in host object bindings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d04ddd73dfc03f420afbdde964c5119f338af135\"\u003e\u003ccode\u003ed04ddd7\u003c/code\u003e\u003c/a\u003e fix(core): prevent binding unsafe attributes on SVG animation elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/67797\"\u003e#67797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003ccode\u003e9e38ed7\u003c/code\u003e\u003c/a\u003e fix(core): sanitizer typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003ccode\u003e3430251\u003c/code\u003e\u003c/a\u003e fix(core): i18n flags leaking on errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a7b9ff5a58b932486dfe5d43012739a7bc16f75b\"\u003e\u003ccode\u003ea7b9ff5\u003c/code\u003e\u003c/a\u003e docs: document FormBuilder.group() controlsConfig value shapes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003ccode\u003e03ad538\u003c/code\u003e\u003c/a\u003e fix(forms): prohibit concurrent submits in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ce7a43a5b66bfebcf72aa60707bb1c9604221a35\"\u003e\u003ccode\u003ece7a43a\u003c/code\u003e\u003c/a\u003e refactor(forms): improve clarity in SelectMultipleControlValueAccessor.writeV...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/600da64ba4df4b73ee00ab1b13f490a7de436ff6\"\u003e\u003ccode\u003e600da64\u003c/code\u003e\u003c/a\u003e docs(forms): add NG01902 error reference and link to docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9581469fe552faf45984362508d7e05adb5930\"\u003e\u003ccode\u003edc95814\u003c/code\u003e\u003c/a\u003e docs: add documentation for NG1002\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b0dc2fbfcb909c558c7dcff89c2fe47c89878991\"\u003e\u003ccode\u003eb0dc2fb\u003c/code\u003e\u003c/a\u003e docs(forms): clarify disabled FormArray value behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/895c576d494111f819e8a790d3a0695b6b9f8b4b\"\u003e\u003ccode\u003e895c576\u003c/code\u003e\u003c/a\u003e refactor(forms): use strict equality for pending status getter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b658accf1f99a240de19090350bd6d3a9620735a\"\u003e\u003ccode\u003eb658acc\u003c/code\u003e\u003c/a\u003e docs: fix js doc of signal forms ignoreValidators option.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/nacefmoula/interviewprep-tn/pull/66","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nacefmoula%2Finterviewprep-tn/issues/66","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/66/packages"},{"uuid":"4499533822","node_id":"PR_kwDORqdfXc7eMAG-","number":16,"state":"open","title":"chore(deps): bump the npm-dependencies group across 1 directory with 35 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:16:54.000Z","updated_at":"2026-05-22T03:19:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":35,"packages":[{"name":"@angular/animations","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.1.2","new_version":"21.2.12","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@iharbeck/ngx-virtual-scroller","old_version":"19.0.1","new_version":"20.0.0","repository_url":"https://github.com/iharbeck/ngx-virtual-scroller"},{"name":"@stomp/rx-stomp","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/stomp-js/rx-stomp"},{"name":"@stomp/stompjs","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/stomp-js/stompjs"},{"name":"chartjs-chart-matrix","old_version":"3.0.0","new_version":"3.0.4","repository_url":"https://github.com/kurkle/chartjs-chart-matrix"},{"name":"date-fns","old_version":"4.1.0","new_version":"4.2.1","repository_url":"https://github.com/date-fns/date-fns"},{"name":"ng2-charts","old_version":"8.0.0","new_version":"10.0.0","repository_url":"https://github.com/valor-software/ng2-charts"},{"name":"ngx-extended-pdf-viewer","old_version":"25.6.4","new_version":"27.0.0","repository_url":"https://github.com/stephanrauh/ngx-extended-pdf-viewer"},{"name":"ngx-sse-client","old_version":"20.0.1","new_version":"21.0.0","repository_url":"https://github.com/marcospds/ngx-sse-client"},{"name":"primeng","old_version":"21.1.1","new_version":"21.1.8","repository_url":"https://github.com/primefaces/primeng"},{"name":"uuid","old_version":"13.0.0","new_version":"14.0.0","repository_url":"https://github.com/uuidjs/uuid"},{"name":"ws","old_version":"8.19.0","new_version":"8.20.1","repository_url":"https://github.com/websockets/ws"},{"name":"zone.js","old_version":"0.16.0","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@analogjs/vite-plugin-angular","old_version":"2.2.3","new_version":"2.5.2","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/vitest-angular","old_version":"2.2.3","new_version":"2.5.2","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular/build","old_version":"21.1.2","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.1.2","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@types/node","old_version":"25.1.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"angular-eslint","old_version":"21.2.0","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"eslint","old_version":"9.39.2","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jsdom","old_version":"27.4.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.54.0","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 34 updates in the /booklore-ui directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.1.2` | `21.2.14` |\n| [@angular/cdk](https://github.com/angular/components) | `21.1.2` | `21.2.12` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.1.2` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.1.2` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.1.2` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.1.2` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.1.2` | `21.2.14` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.1.2` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.1.2` | `21.2.14` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.1.2` | `21.2.14` |\n| [@iharbeck/ngx-virtual-scroller](https://github.com/iharbeck/ngx-virtual-scroller) | `19.0.1` | `20.0.0` |\n| [@stomp/rx-stomp](https://github.com/stomp-js/rx-stomp) | `2.3.0` | `2.4.0` |\n| [@stomp/stompjs](https://github.com/stomp-js/stompjs) | `7.2.1` | `7.3.0` |\n| [chartjs-chart-matrix](https://github.com/kurkle/chartjs-chart-matrix) | `3.0.0` | `3.0.4` |\n| [date-fns](https://github.com/date-fns/date-fns) | `4.1.0` | `4.2.1` |\n| [ng2-charts](https://github.com/valor-software/ng2-charts) | `8.0.0` | `10.0.0` |\n| [ngx-extended-pdf-viewer](https://github.com/stephanrauh/ngx-extended-pdf-viewer) | `25.6.4` | `27.0.0` |\n| [ngx-sse-client](https://github.com/marcospds/ngx-sse-client) | `20.0.1` | `21.0.0` |\n| [primeng](https://github.com/primefaces/primeng/tree/HEAD/packages/primeng) | `21.1.1` | `21.1.8` |\n| [uuid](https://github.com/uuidjs/uuid) | `13.0.0` | `14.0.0` |\n| [ws](https://github.com/websockets/ws) | `8.19.0` | `8.20.1` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.16.0` | `0.16.2` |\n| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) | `2.2.3` | `2.5.2` |\n| [@analogjs/vitest-angular](https://github.com/analogjs/analog) | `2.2.3` | `2.5.2` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.1.2` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.1.2` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.1.2` | `21.2.14` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.1.0` | `25.9.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.7` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.2.0` | `21.4.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.4.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `27.4.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.54.0` | `8.59.4` |\n\n\nUpdates `@angular/animations` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7907e982ee90778e596d3e849f0a31c6c26db235\"\u003e\u003ccode\u003e7907e98\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.1.2 to 21.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003e\u003cimg src=\"https://img.shields.io/badge/da87be7646-fix-green\" alt=\"fix - da87be7646\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/issues/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003cimg src=\"https://img.shields.io/badge/48973661e-fix-green\" alt=\"fix - 48973661e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.9\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/51271c6194a9b55ee847c566a8960c9be5ec7cce\"\u003e\u003cimg src=\"https://img.shields.io/badge/51271c619-fix-green\" alt=\"fix - 51271c619\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow stepper to be labelled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33137\"\u003e#33137\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/3a3852d45a4bbcfb23b46ca00e0eba1d70081ba3\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a3852d45-fix-green\" alt=\"fix - 3a3852d45\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e enter/space key on child node should not toggle parent node expansion (\u003ca href=\"https://redirect.github.com/angular/components/issues/33125\"\u003e#33125\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bf14cc9d9fd349974cba853d4747b6859b3aae5b\"\u003e\u003cimg src=\"https://img.shields.io/badge/bf14cc9d9-fix-green\" alt=\"fix - bf14cc9d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e use computed for menu item patterns, with trigger on visible (\u003ca href=\"https://redirect.github.com/angular/components/issues/33118\"\u003e#33118\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.8\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/5954c4594c6df87908bc7849214a29f6897b213e\"\u003e\u003cimg src=\"https://img.shields.io/badge/5954c4594c-fix-green\" alt=\"fix - 5954c4594c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e deprecate MatSortHeaderIntl and hide from docs (\u003ca href=\"https://redirect.github.com/angular/components/issues/33089\"\u003e#33089\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/5b4bbe9c4f8c902d6923b139e7a925822c899bc1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b4bbe9c4f-fix-green\" alt=\"fix - 5b4bbe9c4f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eselect:\u003c/strong\u003e wrong transform origin when opening upwards inside another overlay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33032\"\u003e#33032\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/895908a12dd81d889f95961da59e80823faf8889\"\u003e\u003cimg src=\"https://img.shields.io/badge/895908a12-fix-green\" alt=\"fix - 895908a12\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e not resetting margin if transition does not start (\u003ca href=\"https://redirect.github.com/angular/components/issues/33001\"\u003e#33001\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/475a8aabb30044c4cdca1bdb0b1de832db6e5936\"\u003e\u003cimg src=\"https://img.shields.io/badge/475a8aabb-fix-green\" alt=\"fix - 475a8aabb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslider:\u003c/strong\u003e not picking up static direction (\u003ca href=\"https://redirect.github.com/angular/components/issues/33006\"\u003e#33006\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.12 \u0026quot;plastic-moose\u0026quot; (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003eda87be7646\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/pull/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 \u0026quot;crystal lotion\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c3161985279bf49f9aae55b732fdd3b2872e1f7e\"\u003ec316198527\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e mark content as inert while open\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c2f1c5b035795079b155b9e60a290abe4d4c9537\"\u003ec2f1c5b035\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e query not resolving\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emultiple\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/84f2afd24933c8742662ee6d12a6f3f98f5dea9e\"\u003e84f2afd249\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove developer preview tag from aria (\u003ca href=\"https://redirect.github.com/angular/components/pull/33232\"\u003e#33232\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e43b7aacd86fb00e34e894d9093a8255e4201ec8\"\u003e\u003ccode\u003ee43b7aa\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003e\u003ccode\u003eda87be7\u003c/code\u003e\u003c/a\u003e fix(material/datepicker): ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/issues/33281\"\u003e#33281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e101874701ed790345f2af292cee81fff573a46e\"\u003e\u003ccode\u003ee101874\u003c/code\u003e\u003c/a\u003e docs(material/tooltip): fix tooltip-position-at-origin example overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33218\"\u003e#33218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/583da8a564dcb667cb8928e79d286eadee0a5013\"\u003e\u003ccode\u003e583da8a\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.10 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/babfbb7430547d5f4558174aec1a07ce6c67a26f\"\u003e\u003ccode\u003ebabfbb7\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33205\"\u003e#33205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e08fdf2a6a120078b512043bf5804bc3c7f9716a\"\u003e\u003ccode\u003ee08fdf2\u003c/code\u003e\u003c/a\u003e build: fix failing test (\u003ca href=\"https://redirect.github.com/angular/components/issues/33212\"\u003e#33212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/09e89fa188f157c0892019a461459cd9a252a673\"\u003e\u003ccode\u003e09e89fa\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33201\"\u003e#33201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003ccode\u003e4897366\u003c/code\u003e\u003c/a\u003e fix(aria/menu): do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/a6c5b72562b9d46ea3c10a2ecb668e013b46a103\"\u003e\u003ccode\u003ea6c5b72\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33181\"\u003e#33181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.1.2...v21.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/30cf85f71c52683016200ecf6d68b4418084ee6e\"\u003e\u003ccode\u003e30cf85f\u003c/code\u003e\u003c/a\u003e refactor(common): update deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/42d57c35781fb65fc4d44df59b6a85287664216a\"\u003e\u003ccode\u003e42d57c3\u003c/code\u003e\u003c/a\u003e refactor(common): fix viewport tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003ccode\u003e10ad3c0\u003c/code\u003e\u003c/a\u003e fix(common): prevent focus from scrollToAnchor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/540536c386f2c735a700c2c9e2697a88dcb3d4ec\"\u003e\u003ccode\u003e540536c\u003c/code\u003e\u003c/a\u003e fix(http): add CSP nonce support to JsonpClientBackend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8102331f82c808ca2256ba51a1d83803a61beabb\"\u003e\u003ccode\u003e8102331\u003c/code\u003e\u003c/a\u003e test(http): disable XSRF and mock location in HttpClient tests to avoid Domin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/13f050d2204285173273ebbfe9b34bc1b3c63c80\"\u003e\u003ccode\u003e13f050d\u003c/code\u003e\u003c/a\u003e test: construct local \u003ccode\u003eDate\u003c/code\u003e objects to fix timezone flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d0cf2995a2b63eb13fe574770ee8a756277852a4\"\u003e\u003ccode\u003ed0cf299\u003c/code\u003e\u003c/a\u003e test: remove unsupported timezone from \u003ccode\u003eformatDate\u003c/code\u003e tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b4ab6ba2e84a18309b0bb5dd68311ff1776b1cb4\"\u003e\u003ccode\u003eb4ab6ba\u003c/code\u003e\u003c/a\u003e fix(common): avoid redundant image fetch on destroy with auto sizes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/adda6c5c106815c727c1b820634614a045b42e9a\"\u003e\u003ccode\u003eadda6c5\u003c/code\u003e\u003c/a\u003e build: update \u003ccode\u003easpect_rules_js\u003c/code\u003e to \u003ccode\u003e3.0.2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/93c6dc6395d681dacd1dbbc46b95773038b6c32f\"\u003e\u003ccode\u003e93c6dc6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;refactor(http): Improves base64 encoding/decoding with feature detect...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003ccode\u003e4f5d8a2\u003c/code\u003e\u003c/a\u003e fix(compiler): let declaration span not including end character\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a4f312060cdf745e4fb0b15eda24ee2b4df0440c\"\u003e\u003ccode\u003ea4f3120\u003c/code\u003e\u003c/a\u003e refactor(compiler): require a reference in DirectiveMeta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/de533fe49181ee7409fd0b0ae4c0391a1e220ee6\"\u003e\u003ccode\u003ede533fe\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): move ClassPropertyMapping into compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ea1e34c4ddf404cde8d5c4ba0ba762bb0b9edbf8\"\u003e\u003ccode\u003eea1e34c\u003c/code\u003e\u003c/a\u003e refactor(compiler): move matchSource into base metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e40d378f3e3e7e57a45c8fbd9565ee06a3a6a13f\"\u003e\u003ccode\u003ee40d378\u003c/code\u003e\u003c/a\u003e fix(compiler): handle nested brackets in host object bindings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d04ddd73dfc03f420afbdde964c5119f338af135\"\u003e\u003ccode\u003ed04ddd7\u003c/code\u003e\u003c/a\u003e fix(core): prevent binding unsafe attributes on SVG animation elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/67797\"\u003e#67797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003ccode\u003e9e38ed7\u003c/code\u003e\u003c/a\u003e fix(core): sanitizer typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003ccode\u003e3430251\u003c/code\u003e\u003c/a\u003e fix(core): i18n flags leaking on errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/an...\n\n_Description has been truncated_","html_url":"https://github.com/BlindMint/booklore/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlindMint%2Fbooklore/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"4495424617","node_id":"PR_kwDOGe8x_M7d-orz","number":1294,"state":"closed","title":"build(deps): bump the production-dependencies group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T05:59:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-21T14:36:46.000Z","updated_at":"2026-05-24T05:59:40.000Z","time_to_close":228172,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"production-dependencies","update_count":31,"packages":[{"name":"@ai-sdk/openai","old_version":"3.0.53","new_version":"3.0.64","repository_url":"https://github.com/vercel/ai"},{"name":"@ai-sdk/openai-compatible","old_version":"2.0.41","new_version":"2.0.47","repository_url":"https://github.com/vercel/ai"},{"name":"@nestjs/cache-manager","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/nestjs/cache-manager"},{"name":"@nestjs/common","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/core","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-express","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-socket.io","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/websockets","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"ai","old_version":"6.0.168","new_version":"6.0.188","repository_url":"https://github.com/vercel/ai"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"valibot","old_version":"1.3.1","new_version":"1.4.0","repository_url":"https://github.com/open-circle/valibot"},{"name":"ws","old_version":"8.20.0","new_version":"8.20.1","repository_url":"https://github.com/websockets/ws"},{"name":"@angular-devkit/build-angular","old_version":"21.2.7","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/animations","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.7","new_version":"21.2.12","repository_url":"https://github.com/angular/components"},{"name":"@angular/cli","old_version":"21.2.7","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/common","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.7","new_version":"21.2.12","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"dompurify","old_version":"3.4.0","new_version":"3.4.5","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"zone.js","old_version":"0.16.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@nx/nx-darwin-arm64","old_version":"22.6.5","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/nx-darwin-x64","old_version":"22.6.5","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/nx-linux-x64-gnu","old_version":"22.6.5","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/nx-win32-x64-msvc","old_version":"22.6.5","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-dependencies group with 31 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@ai-sdk/openai](https://github.com/vercel/ai/tree/HEAD/packages/openai) | `3.0.53` | `3.0.64` |\n| [@ai-sdk/openai-compatible](https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible) | `2.0.41` | `2.0.47` |\n| [@nestjs/cache-manager](https://github.com/nestjs/cache-manager) | `3.1.0` | `3.1.2` |\n| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) | `11.1.19` | `11.1.22` |\n| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core) | `11.1.19` | `11.1.22` |\n| [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express) | `11.1.19` | `11.1.22` |\n| [@nestjs/platform-socket.io](https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io) | `11.1.19` | `11.1.22` |\n| [@nestjs/websockets](https://github.com/nestjs/nest/tree/HEAD/packages/websockets) | `11.1.19` | `11.1.22` |\n| [ai](https://github.com/vercel/ai/tree/HEAD/packages/ai) | `6.0.168` | `6.0.188` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [valibot](https://github.com/open-circle/valibot) | `1.3.1` | `1.4.0` |\n| [ws](https://github.com/websockets/ws) | `8.20.0` | `8.20.1` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `21.2.7` | `21.2.12` |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.9` | `21.2.14` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.7` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.7` | `21.2.12` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.9` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.9` | `21.2.14` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.9` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.9` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.9` | `21.2.14` |\n| [@angular/material](https://github.com/angular/components) | `21.2.7` | `21.2.12` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.9` | `21.2.14` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.9` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.9` | `21.2.14` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.0` | `3.4.5` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.16.1` | `0.16.2` |\n| [@nx/nx-darwin-arm64](https://github.com/nrwl/nx/tree/HEAD/packages/nx/native-packages/darwin-arm64) | `22.6.5` | `22.7.2` |\n| [@nx/nx-darwin-x64](https://github.com/nrwl/nx/tree/HEAD/packages/nx/native-packages/darwin-x64) | `22.6.5` | `22.7.2` |\n| [@nx/nx-linux-x64-gnu](https://github.com/nrwl/nx/tree/HEAD/packages/nx/native-packages/linux-x64-gnu) | `22.6.5` | `22.7.2` |\n| [@nx/nx-win32-x64-msvc](https://github.com/nrwl/nx/tree/HEAD/packages/nx/native-packages/win32-x64-msvc) | `22.6.5` | `22.7.2` |\n\n\nUpdates `@ai-sdk/openai` from 3.0.53 to 3.0.64\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/blob/@ai-sdk/openai@3.0.64/packages/openai/CHANGELOG.md\"\u003e@​ai-sdk/openai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.64\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb7ed8bd: feat(openai): add opt-in pass-through for unsupported file media types\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.63\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [f591416]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.27\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.62\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e65edcca: feat: add allowedTools provider option for OpenAI Responses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.61\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb93f9b4: feat(provider/openai): forward imageDetail providerOptions on tool-result image content\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.60\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6dcd8e6: feat(openai): add GPT-5.5 chat model IDs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.59\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e38966ab: fix(openai, openai-compatible): only send null content for assistant messages with tool calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.58\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e2370948: feat(openai): preserve \u003ccode\u003enamespace\u003c/code\u003e on function_call output items\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.57\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed33e7cc: chore(provider/openai): add type for image model options for type-safe processing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.56\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/2e7664bff4294f2f5b21c30136ca24d12c4e9b5c\"\u003e\u003ccode\u003e2e7664b\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15315\"\u003e#15315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/b7ed8bdac18d2e71b4c392f08c8d8f03204ca8f4\"\u003e\u003ccode\u003eb7ed8bd\u003c/code\u003e\u003c/a\u003e Backport: feat(openai): add opt-in pass-through for unsupported file media ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/e3ccdb5987c07459ffd9be56088c5ac9d142fba2\"\u003e\u003ccode\u003ee3ccdb5\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15094\"\u003e#15094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/bf9de314a7e747019d73dedad7c840da25cc94d5\"\u003e\u003ccode\u003ebf9de31\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15046\"\u003e#15046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/65edcca7edb360ea6c3fa703ff5662c893e9ec0b\"\u003e\u003ccode\u003e65edcca\u003c/code\u003e\u003c/a\u003e Backport: feat(openai): add allowedTools provider option for Responses (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/ee37690cc8bcf97710ba391dde4fdfca3c1e1405\"\u003e\u003ccode\u003eee37690\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15020\"\u003e#15020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/b93f9b4f806c59fce982c42d4dfa7d19f4a1f928\"\u003e\u003ccode\u003eb93f9b4\u003c/code\u003e\u003c/a\u003e Backport: feat(provider/openai): forward imageDetail providerOptions on tool-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/c7061114178e8bf86cc9ac604ebbbe0e7866c7eb\"\u003e\u003ccode\u003ec706111\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/14971\"\u003e#14971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/6dcd8e6f602a0b14c8bb79d11b847d05b60e67d3\"\u003e\u003ccode\u003e6dcd8e6\u003c/code\u003e\u003c/a\u003e Backport: feat(openai): add GPT-5.5 chat model IDs (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/14965\"\u003e#14965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a1dddcc5b39a03168e7a8fd7516fdc47798d67b3\"\u003e\u003ccode\u003ea1dddcc\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/14954\"\u003e#14954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/ai/commits/@ai-sdk/openai@3.0.64/packages/openai\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​ai-sdk/openai\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@ai-sdk/openai-compatible` from 2.0.41 to 2.0.47\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/blob/@ai-sdk/openai-compatible@2.0.47/packages/openai-compatible/CHANGELOG.md\"\u003e@​ai-sdk/openai-compatible's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.47\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [f591416]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.27\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.46\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e38966ab: fix(openai, openai-compatible): only send null content for assistant messages with tool calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.45\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6043d24: feat(vertex): add grok models to vertex provider\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.44\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [7beadf0]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.26\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.43\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ea727da4: chore: ensure consistent import handling and avoid import duplicates or cycles\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [a727da4]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.25\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.42\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ea7f3c72: trigger release for all packages after provenance setup\u003c/li\u003e\n\u003cli\u003e408a2ad: patch - send content: null instead of empty string for tool-only assistant messages\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [a7f3c72]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.24\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/e3ccdb5987c07459ffd9be56088c5ac9d142fba2\"\u003e\u003ccode\u003ee3ccdb5\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/15094\"\u003e#15094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a1dddcc5b39a03168e7a8fd7516fdc47798d67b3\"\u003e\u003ccode\u003ea1dddcc\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14954\"\u003e#14954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/38966ab2defffccb36c67e01c476f0fc64250f13\"\u003e\u003ccode\u003e38966ab\u003c/code\u003e\u003c/a\u003e backport v6: fix(openai, openai-compatible): only send null content for assis...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/3def72008c61665a9d1976312cf733676beaa258\"\u003e\u003ccode\u003e3def720\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14908\"\u003e#14908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/6043d24b78f54a88a96443e4fbe16b22dce0de9e\"\u003e\u003ccode\u003e6043d24\u003c/code\u003e\u003c/a\u003e Backport: feat(vertex): add grok models to vertex provider (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14902\"\u003e#14902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/8a46a3c1ba2c9d6df6b5dcf9d917b6ac486fe6a9\"\u003e\u003ccode\u003e8a46a3c\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14875\"\u003e#14875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/8e650ab809ac47de5d16f26bf544a9a73b0d39a3\"\u003e\u003ccode\u003e8e650ab\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14824\"\u003e#14824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a727da484534bbdbf88d53497ed383fee7f7ffa1\"\u003e\u003ccode\u003ea727da4\u003c/code\u003e\u003c/a\u003e backport of chore: ensure consistent import handling and avoid import duplica...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/77a4e053a1cf1540c2da9050ace9e035c8a3ad3a\"\u003e\u003ccode\u003e77a4e05\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14802\"\u003e#14802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a7f3c72d8245574c6b244e06c0ce6dad8b95c526\"\u003e\u003ccode\u003ea7f3c72\u003c/code\u003e\u003c/a\u003e Re-enable v6 releases (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14799\"\u003e#14799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/ai/commits/@ai-sdk/openai-compatible@2.0.47/packages/openai-compatible\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​ai-sdk/openai-compatible\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/cache-manager` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/cache-manager/releases\"\u003e@​nestjs/cache-manager's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: fix trackby api breaking change (cab7694)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: allow cache-key factory to be async by \u003ca href=\"https://github.com/swieton\"\u003e\u003ccode\u003e@​swieton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/pull/1006\"\u003enestjs/cache-manager#1006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swieton\"\u003e\u003ccode\u003e@​swieton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/pull/1006\"\u003enestjs/cache-manager#1006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nestjs/cache-manager/compare/3.1.0...3.1.1\"\u003ehttps://github.com/nestjs/cache-manager/compare/3.1.0...3.1.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/b6defea5ac3dac72452617389c402a5af7529698\"\u003e\u003ccode\u003eb6defea\u003c/code\u003e\u003c/a\u003e chore(): release v3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/cab769458bbb40387bbb17aa944ab63c113a784e\"\u003e\u003ccode\u003ecab7694\u003c/code\u003e\u003c/a\u003e chore: fix trackby api breaking change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/6050fcd74bf08dce63644a4560f2ef00ad9fed77\"\u003e\u003ccode\u003e6050fcd\u003c/code\u003e\u003c/a\u003e chore(): release v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/8e27fe44bc8b5f8b495844a7915e680ee6ad674c\"\u003e\u003ccode\u003e8e27fe4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1058\"\u003e#1058\u003c/a\u003e from nestjs/renovate/cimg-node-24.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/c4d6e90b26ffcfc2ff0e987c783a87e0d01aee1d\"\u003e\u003ccode\u003ec4d6e90\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1062\"\u003e#1062\u003c/a\u003e from nestjs/renovate/vite-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/755f08ff3962e3722100983bd4c7474471fbdb43\"\u003e\u003ccode\u003e755f08f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1006\"\u003e#1006\u003c/a\u003e from swieton/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/13206b7214674a2c38977ee40b76c3621964c127\"\u003e\u003ccode\u003e13206b7\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v8.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/d004e0b2285caf1a67a5c591f28924cfec7d0791\"\u003e\u003ccode\u003ed004e0b\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vitest to v4.1.5 (\u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/584a10b32fd9513f6f655b637f0e167ae15e96f5\"\u003e\u003ccode\u003e584a10b\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency oxlint to v1.61.0 (\u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/147bc75c2d6f99d3544e0bc486199ac9bc2edcba\"\u003e\u003ccode\u003e147bc75\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v8.0.9 (\u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/cache-manager/compare/3.1.0...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/common` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/4b6420b9a703f8608d86bcbff88d045511ce36d6\"\u003e\u003ccode\u003e4b6420b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/16902\"\u003e#16902\u003c/a\u003e from QusaiAlbonni/fix/filetype-validator-buffer-mes...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/33515ed0576ed47bf7c9fe1cba85cf5b9bfe52de\"\u003e\u003ccode\u003e33515ed\u003c/code\u003e\u003c/a\u003e fix(common): improve missing buffer error message in file type validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/9226a6f6134741976144b967585967f3823f755a\"\u003e\u003ccode\u003e9226a6f\u003c/code\u003e\u003c/a\u003e fix: Add missing validateEach for UsePipes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/1501bc0600fa88a9d0d5b03ec8105f00e582bb48\"\u003e\u003ccode\u003e1501bc0\u003c/code\u003e\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/core` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/260b8ece26ad772e112c955e9d97ae973b866b3c\"\u003e\u003ccode\u003e260b8ec\u003c/code\u003e\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/16989\"\u003e#16989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/16aceab9b21bf3e4b79e3b1f32a91e139e0e5250\"\u003e\u003ccode\u003e16aceab\u003c/code\u003e\u003c/a\u003e fix(core): include received value type in invalid-module error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/79919b1aa85fd5004f948c86ac447faae0da360b\"\u003e\u003ccode\u003e79919b1\u003c/code\u003e\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/d48f21d4a9c29340b20411c459c3d4cc340596da\"\u003e\u003ccode\u003ed48f21d\u003c/code\u003e\u003c/a\u003e fix(core): settle skipped provider initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/2e290c69c952e71a9fb8b6bef31e71d0307ce88b\"\u003e\u003ccode\u003e2e290c6\u003c/code\u003e\u003c/a\u003e fix(core): fix deeply nested transient providers resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/platform-express` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/platform-express's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-express/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/5e33ecfad88db4d9af659f38de56cd55c5c8ed10\"\u003e\u003ccode\u003e5e33ecf\u003c/code\u003e\u003c/a\u003e feat: add MulterOptions and MulterField interfaces for express platform confi...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/platform-express\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/platform-socket.io` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/platform-socket.io's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/993d8372f6c33ae3d2a45fe2014aa774ea762cb5\"\u003e\u003ccode\u003e993d837\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io/issues/16742\"\u003e#16742\u003c/a\u003e from fru1tworld/fix/deduplicate-disconnect-listener\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/ba0c543a61f0fc6be6fd76971dcbb84e415ea756\"\u003e\u003ccode\u003eba0c543\u003c/code\u003e\u003c/a\u003e fix(socket.io): add test tsconfig for eslint project service resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/3b47081e722016be7369b4ef3e43688cec30d832\"\u003e\u003ccode\u003e3b47081\u003c/code\u003e\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/platform-socket.io\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/websockets` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/websockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/websockets/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/websockets\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ai` from 6.0.168 to 6.0.188\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/releases\"\u003eai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eai@6.0.188\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ec98715a: Add \u003ccode\u003eallowSystemInMessages\u003c/code\u003e option to \u003ccode\u003eToolLoopAgent\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis exposes the same option that exists on \u003ccode\u003estreamText\u003c/code\u003e and \u003ccode\u003egenerateText\u003c/code\u003e, whether \u003ccode\u003erole: \u0026quot;system\u0026quot;\u003c/code\u003e messages are allowed in the \u003ccode\u003eprompt\u003c/code\u003e or \u003ccode\u003emessages\u003c/code\u003e fields. When unset, system messages are rejected because they can create a prompt injection attack risk. Ideally, use the \u003ccode\u003einstructions\u003c/code\u003e option instead. Set to \u003ccode\u003etrue\u003c/code\u003e to allow system messages, or \u003ccode\u003efalse\u003c/code\u003e to explicitly reject them.\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003econst agent = new ToolLoopAgent({\n  model,\n  allowSystemInMessages: true,\n});\n\u003cp\u003eawait agent.generate({\nmessages: [\n{ role: \u0026quot;system\u0026quot;, content: \u0026quot;Server context\u0026quot; },\n{ role: \u0026quot;user\u0026quot;, content: \u0026quot;Hello\u0026quot; },\n],\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe option can also be returned from \u003ccode\u003eprepareCall\u003c/code\u003e for dynamic per-call configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eai@6.0.187\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [6f4bb06]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.118\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/blob/ai@6.0.188/packages/ai/CHANGELOG.md\"\u003eai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.188\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ec98715a: Add \u003ccode\u003eallowSystemInMessages\u003c/code\u003e option to \u003ccode\u003eToolLoopAgent\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis exposes the same option that exists on \u003ccode\u003estreamText\u003c/code\u003e and \u003ccode\u003egenerateText\u003c/code\u003e, whether \u003ccode\u003erole: \u0026quot;system\u0026quot;\u003c/code\u003e messages are allowed in the \u003ccode\u003eprompt\u003c/code\u003e or \u003ccode\u003emessages\u003c/code\u003e fields. When unset, system messages are rejected because they can create a prompt injection attack risk. Ideally, use the \u003ccode\u003einstructions\u003c/code\u003e option instead. Set to \u003ccode\u003etrue\u003c/code\u003e to allow system messages, or \u003ccode\u003efalse\u003c/code\u003e to explicitly reject them.\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003econst agent = new ToolLoopAgent({\n  model,\n  allowSystemInMessages: true,\n});\n\u003cp\u003eawait agent.generate({\nmessages: [\n{ role: \u0026quot;system\u0026quot;, content: \u0026quot;Server context\u0026quot; },\n{ role: \u0026quot;user\u0026quot;, content: \u0026quot;Hello\u0026quot; },\n],\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe option can also be returned from \u003ccode\u003eprepareCall\u003c/code\u003e for dynamic per-call configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.187\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [6f4bb06]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.118\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.186\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [756fec1]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.117\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.185\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [488ef33]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.116\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.184\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e40fc5e4: fix(ai): default missing embedding warnings to an empty array\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/93ad540ed13863363ebc0bd5a9c574a082602d27\"\u003e\u003ccode\u003e93ad540\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/c98715ae5ecf19a18a7c31fa2ec30124e456188b\"\u003e\u003ccode\u003ec98715a\u003c/code\u003e\u003c/a\u003e Backport: [tool-loop-agent] adding support for messages with system role with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a15eda90f03049bfba99183b4fd308ca63372b86\"\u003e\u003ccode\u003ea15eda9\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15473\"\u003e#15473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/917e487d1f8d29554b30d56b17e846e9c233c0c5\"\u003e\u003ccode\u003e917e487\u003c/code\u003e\u003c/a\u003e Backport CI speed improvements to release-v6.0 (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15455\"\u003e#15455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/e33b836af7673d45eb90704574ffae5bdc6ba824\"\u003e\u003ccode\u003ee33b836\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15440\"\u003e#15440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/4a989451c5ef8c1b04d8a91e4e9301dc81708cfa\"\u003e\u003ccode\u003e4a98945\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15406\"\u003e#15406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/f8d30032da41bdfd1d4c560bb6439dec8021603e\"\u003e\u003ccode\u003ef8d3003\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15356\"\u003e#15356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/40fc5e40f39b991befd084d48e70084de90ab78f\"\u003e\u003ccode\u003e40fc5e4\u003c/code\u003e\u003c/a\u003e Backport: fix(ai): default missing embedding warnings (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15354\"\u003e#15354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/2e7664bff4294f2f5b21c30136ca24d12c4e9b5c\"\u003e\u003ccode\u003e2e7664b\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15315\"\u003e#15315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/7baadcc49f0a447e2d55c9fe7d4684d19020772a\"\u003e\u003ccode\u003e7baadcc\u003c/code\u003e\u003c/a\u003e chore: diverge test assertions based on node version (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15326\"\u003e#15326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/ai/commits/ai@6.0.188/packages/ai\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for ai since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `valibot` from 1.3.1 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-circle/valibot/releases\"\u003evalibot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/ksaurav24\"\u003e\u003ccode\u003e@​ksaurav24\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/heiwen\"\u003e\u003ccode\u003e@​heiwen\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/compulim\"\u003e\u003ccode\u003e@​compulim\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ysknsid25\"\u003e\u003ccode\u003e@​ysknsid25\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alaycock-stripe\"\u003e\u003ccode\u003e@​alaycock-stripe\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/IlyaSemenov\"\u003e\u003ccode\u003e@​IlyaSemenov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/wszgrcy\"\u003e\u003ccode\u003e@​wszgrcy\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/LMGO\"\u003e\u003ccode\u003e@​LMGO\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/yslpn\"\u003e\u003ccode\u003e@​yslpn\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/EltonLobo07\"\u003e\u003ccode\u003e@​EltonLobo07\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Eronmmer\"\u003e\u003ccode\u003e@​Eronmmer\u003c/code\u003e\u003c/a\u003e for contributing to this release.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eRead the \u003ca href=\"https://valibot.dev/blog/valibot-v1.4-release-notes/\"\u003erelease notes\u003c/a\u003e on our website for a quick overview of the most exciting new features in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eisoDateTimeSecond\u003c/code\u003e validation action to validate ISO date times with seconds (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoCamelCase\u003c/code\u003e, \u003ccode\u003etoKebabCase\u003c/code\u003e, \u003ccode\u003etoPascalCase\u003c/code\u003e and \u003ccode\u003etoSnakeCase\u003c/code\u003e transformation actions to convert strings between common naming conventions (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1457\"\u003e#1457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange internal \u003ccode\u003eReadonlyOutputKeys\u003c/code\u003e and \u003ccode\u003eOutputWithReadonly\u003c/code\u003e types of \u003ccode\u003eobject\u003c/code\u003e schemas and \u003ccode\u003eWithReadonly\u003c/code\u003e type of \u003ccode\u003erecord\u003c/code\u003e schemas to improve TypeScript type performance (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange hot paths to reduce object allocations and improve runtime performance (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1437\"\u003e#1437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange build target to ES2020 so distributed output stays compatible with environments that lack support for newer syntax (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange internal \u003ccode\u003e_LruCache\u003c/code\u003e to use a TypeScript \u003ccode\u003eprivate\u003c/code\u003e method instead of a \u003ccode\u003e#private\u003c/code\u003e class field to avoid runtime helpers in the transpiled output (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange internal \u003ccode\u003e_isValidObjectKey\u003c/code\u003e to use \u003ccode\u003eObject.prototype.hasOwnProperty.call\u003c/code\u003e instead of \u003ccode\u003eObject.hasOwn\u003c/code\u003e so the distributed output stays compatible with runtimes that lack the ES2022 \u003ccode\u003eObject.hasOwn\u003c/code\u003e builtin (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1421\"\u003e#1421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eflatten\u003c/code\u003e method to accept readonly issue arrays (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1269\"\u003e#1269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix potential \u003ccode\u003eRangeError\u003c/code\u003e caused by spreading large issue arrays (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1437\"\u003e#1437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ecreditCard\u003c/code\u003e validation action to reject Mastercard numbers with invalid lengths (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eintersect\u003c/code\u003e schema to no longer mutate input values, allowing frozen objects and arrays to be merged (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.4.0 (to-json-schema)\u003c/h2\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/stefanprobst\"\u003e\u003ccode\u003e@​stefanprobst\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sruenwg\"\u003e\u003ccode\u003e@​sruenwg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/cruzdanilo\"\u003e\u003ccode\u003e@​cruzdanilo\u003c/code\u003e\u003c/a\u003e for contributing to this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eexamples\u003c/code\u003e action\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003einteger\u003c/code\u003e when used with \u003ccode\u003eminValue\u003c/code\u003e and \u003ccode\u003emaxValue\u003c/code\u003e actions (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1367\"\u003e#1367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange Valibot peer dependency to v1.2.0\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eexactOptional\u003c/code\u003e object properties (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003evariant\u003c/code\u003e to use \u003ccode\u003eoneOf\u003c/code\u003e instead of \u003ccode\u003eanyOf\u003c/code\u003e (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1193\"\u003e#1193\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/52280c5223710ec27ab01094c0bb18857812aab7\"\u003e\u003ccode\u003e52280c5\u003c/code\u003e\u003c/a\u003e Bump version to 1.4.0 and update changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/482ad9e9ebd76fb7e6a43bc16ae14822be509be2\"\u003e\u003ccode\u003e482ad9e\u003c/code\u003e\u003c/a\u003e Update description on rfcEmail (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/7b5db7b9cacdadb83afe17e7666445542986ca99\"\u003e\u003ccode\u003e7b5db7b\u003c/code\u003e\u003c/a\u003e Adds example for optional (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1321\"\u003e#1321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/d66a0fe2a01eb10cc25b9363bc327e90357cd8d4\"\u003e\u003ccode\u003ed66a0fe\u003c/code\u003e\u003c/a\u003e Rewrite introduction guide from first-person to third-person perspective (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1388\"\u003e#1388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/2f5213b679171ddb6a8f81d57440f1a363ca0077\"\u003e\u003ccode\u003e2f5213b\u003c/code\u003e\u003c/a\u003e Accept readonly issues in flatten (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1269\"\u003e#1269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/0bfe812d533f3e9b49e66db5004933292588d85e\"\u003e\u003ccode\u003e0bfe812\u003c/code\u003e\u003c/a\u003e Add link to the config method for granular control over each pipeline in webs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/b16fdf9ba6d84fffc3b71fdbac554126258f9a4a\"\u003e\u003ccode\u003eb16fdf9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eintersect\u003c/code\u003e with frozen objects (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/17cd7ed5b8851ff5006dcf85bf9fa6c53da3cb72\"\u003e\u003ccode\u003e17cd7ed\u003c/code\u003e\u003c/a\u003e fix: prefer hasOwnProperty over hasOwn (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1421\"\u003e#1421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/7d0790cd8f22d7e4d443662724024b3db3ccd945\"\u003e\u003ccode\u003e7d0790c\u003c/code\u003e\u003c/a\u003e feat(i18n): add Uzbek (Latin) locale (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/a41dabd43c165d1910cefd038941266a92baa300\"\u003e\u003ccode\u003ea41dabd\u003c/code\u003e\u003c/a\u003e feat: add built-in string case transformation actions (\u003ccode\u003etoCamelCase\u003c/code\u003e, `toSnak...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-circle/valibot/compare/v1.3.1...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ws` from 8.20.0 to 8.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/websockets/ws/releases\"\u003ews's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.20.1\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an uninitialized memory disclosure issue in \u003ccode\u003ewebsocket.close()\u003c/code\u003e\n(c0327ec1).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eProviding a \u003ccode\u003eTypedArray\u003c/code\u003e (e.g. \u003ccode\u003eFloat32Array\u003c/code\u003e) as the \u003ccode\u003ereason\u003c/code\u003e argument for\n\u003ccode\u003ewebsocket.close()\u003c/code\u003e, rather than the supported string or \u003ccode\u003eBuffer\u003c/code\u003e types, caused\nuninitialized memory to be disclosed to the remote peer.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { deepStrictEqual } from 'node:assert';\r\nimport { WebSocket, WebSocketServer } from 'ws';\r\n\u003cp\u003econst wss = new WebSocketServer(\n{ port: 0, skipUTF8Validation: true },\nfunction () {\nconst { port } = wss.address();\nconst ws = new WebSocket(\u003ccode\u003ews://localhost:${port}\u003c/code\u003e, {\nskipUTF8Validation: true\n});\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ews.on('close', function (code, reason) {\r\n  deepStrictEqual(reason, Buffer.alloc(80));\r\n});\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\n);\u003c/p\u003e\n\u003cp\u003ewss.on('connection', function (ws) {\nws.close(1000, new Float32Array(20));\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe issue was privately reported by \u003ca href=\"ht...\n\n_Description has been truncated_","html_url":"https://github.com/b310-digital/teammapper/pull/1294","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/b310-digital%2Fteammapper/issues/1294","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1294/packages"},{"uuid":"4490880081","node_id":"PR_kwDOHBnFWs7dv3Uy","number":1160,"state":"open","title":"Bump the angular group with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T00:57:29.000Z","updated_at":"2026-05-21T02:06:14.731Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":12,"packages":[{"name":"@angular/animations","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/localize","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.11","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.11","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.13` | `21.2.14` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.13` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.13` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.13` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.13` | `21.2.14` |\n| [@angular/localize](https://github.com/angular/angular) | `21.2.13` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.13` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.13` | `21.2.14` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.13` | `21.2.14` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.13` | `21.2.14` |\n\nUpdates `@angular/animations` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a7b9ff5a58b932486dfe5d43012739a7bc16f75b\"\u003e\u003ccode\u003ea7b9ff5\u003c/code\u003e\u003c/a\u003e docs: document FormBuilder.group() controlsConfig value shapes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/localize` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/localize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/localize's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fe8562b38dfd06f57dd1fedd4b5bca5db3810b7\"\u003e\u003ccode\u003e3fe8562\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.14 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9627e02bde5478c595c2771cbcc022a0ac8acf10\"\u003e\u003ccode\u003e9627e02\u003c/code\u003e\u003c/a\u003e docs: link to ng new reference from installation guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a7b9ff5a58b932486dfe5d43012739a7bc16f75b\"\u003e\u003ccode\u003ea7b9ff5\u003c/code\u003e\u003c/a\u003e docs: document FormBuilder.group() controlsConfig value shapes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b6f780e2d4f448088aaeb492131630f958a31cb\"\u003e\u003ccode\u003e1b6f780\u003c/code\u003e\u003c/a\u003e docs: fix grammar slips on pipes guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d56f1a35adb94571bc8a4b4b17dc47c3bc0053db\"\u003e\u003ccode\u003ed56f1a3\u003c/code\u003e\u003c/a\u003e docs: document barrel file caveat for \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e lazy chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/232b21db55948defe5322152d6b67c03ca69b41e\"\u003e\u003ccode\u003e232b21d\u003c/code\u003e\u003c/a\u003e docs: document content projection limitations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c7f70e8ea3a769f8231e5f73ee8abf6051bf50f\"\u003e\u003ccode\u003e0c7f70e\u003c/code\u003e\u003c/a\u003e fix(docs-infra): make absolute angular.dev hrefs relative in CLI option descr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ef4ea3e399b723c8b1146729fac57a15d695dfd\"\u003e\u003ccode\u003e1ef4ea3\u003c/code\u003e\u003c/a\u003e docs: update supported Angular versions table to reflect v19 end-of-life status\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/395919ffeb37a9287a8a968cdc6ea370a82867c3\"\u003e\u003ccode\u003e395919f\u003c/code\u003e\u003c/a\u003e docs: clarify viewProviders visibility with projected content\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/compare/v21.2.13...v21.2.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/platform-browser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003ccode\u003e099bf57\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/service-worker` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/service-worker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/service-worker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/service-worker\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/build` from 21.2.11 to 21.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/build's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/build's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-angular are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-webpack are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e loader and plugin are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b2f7a038b4a321e4e1b0b340cd09425f948c77ad\"\u003eb2f7a038b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003econditionally install istanbul coverage provider for Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d227e6985ef5540e0eea2571577ee2b9be0d3c64\"\u003ed227e6985\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fake async to Vitest fake timers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d2aa9ede55a3e16b61ce6ae60dba6c8ea8954358\"\u003ed2aa9ede5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fakeAsync's flush behavior when used in beforeEach\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c9f4081533f6f114846b88a152a9d5dc7363d680\"\u003ec9f408153\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eset up fake timers in beforeEach instead of beforeAll\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8d0805dd1750cb16af620811dc01b40e46ad030e\"\u003e8d0805dd1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eupdate TSConfig globals during karma to vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aed407db8be6bc7591fb82f10c79586cbd072a8a\"\u003eaed407db8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edefer karma config deletion in Karma to Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7fb59eaa65a8d7e880b6f44d715b2aeaff9301ca\"\u003e7fb59eaa6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse service decorator in ng generate\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/58c0978f658e...\n\n_Description has been truncated_","html_url":"https://github.com/cjmalloy/jasper-ui/pull/1160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjmalloy%2Fjasper-ui/issues/1160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1160/packages"},{"uuid":"4490829432","node_id":"PR_kwDOCOqa3c7dvtYX","number":1499,"state":"open","title":"build(deps): Bump the angular group in /source/progressive-web-app with 11 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T00:42:13.000Z","updated_at":"2026-05-21T00:43:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"angular","update_count":11,"packages":[{"name":"@angular/animations","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.11","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.11","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/source/progressive-web-app","ecosystem":"npm"},"body":"Bumps the angular group in /source/progressive-web-app with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.13` | `21.2.14` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.13` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.13` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.13` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.13` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.13` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.13` | `21.2.14` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.13` | `21.2.14` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.13` | `21.2.14` |\n\nUpdates `@angular/animations` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a7b9ff5a58b932486dfe5d43012739a7bc16f75b\"\u003e\u003ccode\u003ea7b9ff5\u003c/code\u003e\u003c/a\u003e docs: document FormBuilder.group() controlsConfig value shapes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/platform-browser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003ccode\u003e099bf57\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/service-worker` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/service-worker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/service-worker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/service-worker\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/build` from 21.2.11 to 21.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/build's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/build's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-angular are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-webpack are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e loader and plugin are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b2f7a038b4a321e4e1b0b340cd09425f948c77ad\"\u003eb2f7a038b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003econditionally install istanbul coverage provider for Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d227e6985ef5540e0eea2571577ee2b9be0d3c64\"\u003ed227e6985\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fake async to Vitest fake timers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d2aa9ede55a3e16b61ce6ae60dba6c8ea8954358\"\u003ed2aa9ede5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fakeAsync's flush behavior when used in beforeEach\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c9f4081533f6f114846b88a152a9d5dc7363d680\"\u003ec9f408153\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eset up fake timers in beforeEach instead of beforeAll\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8d0805dd1750cb16af620811dc01b40e46ad030e\"\u003e8d0805dd1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eupdate TSConfig globals during karma to vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aed407db8be6bc7591fb82f10c79586cbd072a8a\"\u003eaed407db8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edefer karma config deletion in Karma to Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7fb59eaa65a8d7e880b6f44d715b2aeaff9301ca\"\u003e7fb59eaa6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse service decorator in ng generate\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/58c0978f658ee5fa7232abd8e2eb7f146e4eb6bb\"\u003e58c0978f6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ff88f491da38493d6e06f3e4ac080d171c630ccd\"\u003eff88f491d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict MCP workspace access to allowed client roots during resolution\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9dcef4d6f7e61cef518d332a17ea0889b93e8d5c\"\u003e\u003ccode\u003e9dcef4d\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/feec5bfe03cb6cc5c3ebbc472643ef8f5e872b37\"\u003e\u003ccode\u003efeec5bf\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): add missing \u003ccode\u003eOutputFile\u003c/code\u003e import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/48c17e8a9b9a4676b58a4677bfc920934f2a7883\"\u003e\u003ccode\u003e48c17e8\u003c/code\u003e\u003c/a\u003e docs: update JSDoc return tag to \u003ccode\u003e@return\u003c/code\u003e and fix description in registry.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003ccode\u003ecbad575\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ignore virtual esbuild paths with (disabled):\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6cc934921befc1e972d628d8164f55a230e9b883\"\u003e\u003ccode\u003e6cc9349\u003c/code\u003e\u003c/a\u003e docs: update ng.ts render function documentation to reflect removal of render...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.11...v21.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 21.2.11 to 21.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-angular are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-webpack are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e loader and plugin are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b2f7a038b4a321e4e1b0b340cd09425f948c77ad\"\u003eb2f7a038b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003econditionally install istanbul coverage provider for Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d227e6985ef5540e0eea2571577ee2b9be0d3c64\"\u003ed227e6985\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fake async to Vitest fake timers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d2aa9ede55a3e16b61ce6ae60dba6c8ea8954358\"\u003ed2aa9ede5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fakeAsync's flush behavior when used in beforeEach\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c9f4081533f6f114846b88a152a9d5dc7363d680\"\u003ec9f408153\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eset up fake timers in beforeEach instead of beforeAll\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8d0805dd1750cb16af620811dc01b40e46ad030e\"\u003e8d0805dd1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eupdate TSConfig globals during karma to vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aed407db8be6bc7591fb82f10c79586cbd072a8a\"\u003eaed407db8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edefer karma config deletion in Karma to Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7fb59eaa65a8d7e880b6f44d715b2aeaff9301ca\"\u003e7fb59eaa6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse service decorator in ng generate\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/58c0978f658ee5fa7232abd8e2eb7f146e4eb6bb\"\u003e58c0978f6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ff88f491da38493d6e06f3e4ac080d171c630ccd\"\u003eff88f491d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict MCP workspace access to allowed client roots during resolution\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9dcef4d6f7e61cef518d332a17ea0889b93e8d5c\"\u003e\u003ccode\u003e9dcef4d\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/feec5bfe03cb6cc5c3ebbc472643ef8f5e872b37\"\u003e\u003ccode\u003efeec5bf\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): add missing \u003ccode\u003eOutputFile\u003c/code\u003e import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/48c17e8a9b9a4676b58a4677bfc920934f2a7883\"\u003e\u003ccode\u003e48c17e8\u003c/code\u003e\u003c/a\u003e docs: update JSDoc return tag to \u003ccode\u003e@return\u003c/code\u003e and fix description in registry.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003ccode\u003ecbad575\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ignore virtual esbuild paths with (disabled):\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6cc934921befc1e972d628d8164f55a230e9b883\"\u003e\u003ccode\u003e6cc9349\u003c/code\u003e\u003c/a\u003e docs: update ng.ts render function documentation to reflect removal of render...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.11...v21.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/ang...\n\n_Description has been truncated_","html_url":"https://github.com/talha0113/microsoft-account-profile-information/pull/1499","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/talha0113%2Fmicrosoft-account-profile-information/issues/1499","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1499/packages"},{"uuid":"4475145015","node_id":"PR_kwDOBgachM7c9ALm","number":4833,"state":"closed","title":"Bump the angular group with 16 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-26T03:24:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T07:00:06.000Z","updated_at":"2026-05-26T03:24:24.000Z","time_to_close":591856,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":16,"packages":[{"name":"@angular/animations","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/architect","old_version":"0.2102.10","new_version":"0.2102.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/build","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/language-service","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.12` | `21.2.13` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.10` | `21.2.11` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `21.2.13` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `21.2.13` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `21.2.13` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `21.2.13` |\n| [@angular/material](https://github.com/angular/components) | `21.2.10` | `21.2.11` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `21.2.13` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.12` | `21.2.13` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `21.2.13` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.12` | `21.2.13` |\n| [@angular-devkit/architect](https://github.com/angular/angular-cli) | `0.2102.10` | `0.2102.11` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `21.2.13` |\n| [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `21.2.12` | `21.2.13` |\n\nUpdates `@angular/animations` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.10 to 21.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003eadd8f16c0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e9d73c98b5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e75718e4fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...v21.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/material` from 21.2.10 to 21.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003eadd8f16c0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e9d73c98b5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e75718e4fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...v21.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/platform-browser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser-dynamic` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser-dynamic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser-dynamic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/platform-browser-dynamic\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/service-worker` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/service-worker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/service-worker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/service-worker\"\u003eco...\n\n_Description has been truncated_","html_url":"https://github.com/abraham/slides-today/pull/4833","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/abraham%2Fslides-today/issues/4833","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4833/packages"},{"uuid":"4474189345","node_id":"PR_kwDOPCIeBc7c58qN","number":923,"state":"closed","title":"chore(frontend)(deps): bump the angular group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["backend","frontend","dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T23:55:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T03:34:34.000Z","updated_at":"2026-05-25T23:56:00.000Z","time_to_close":591684,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(frontend)(deps): bump","group_name":"angular","update_count":13,"packages":[{"name":"@angular/animations","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"20.2.14","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"20.2.14","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"20.3.18","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"20.3.18","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 13 updates in the /choir-app-frontend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `20.3.17` | `21.2.13` |\n| [@angular/cdk](https://github.com/angular/components) | `20.2.14` | `21.2.11` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `20.3.17` | `21.2.13` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `20.3.17` | `21.2.13` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `20.3.17` | `21.2.13` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `20.3.17` | `21.2.13` |\n| [@angular/material](https://github.com/angular/components) | `20.2.14` | `21.2.11` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `20.3.17` | `21.2.13` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `20.3.17` | `21.2.13` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `20.3.17` | `21.2.13` |\n| [@angular/build](https://github.com/angular/angular-cli) | `20.3.18` | `21.2.11` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `20.3.18` | `21.2.11` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `20.3.17` | `21.2.13` |\n\n\nUpdates `@angular/animations` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f5d8a2c0b-fix-green\" alt=\"fix - 4f5d8a2c0b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003elet declaration span not including end character\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003cimg src=\"https://img.shields.io/badge/a40e2cebc8-fix-green\" alt=\"fix - a40e2cebc8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix ordering of view queries metadata in JIT mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/885a1a1d9757adfa8766d9b369c848a277438c31\"\u003e\u003cimg src=\"https://img.shields.io/badge/885a1a1d97-fix-green\" alt=\"fix - 885a1a1d97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against non-object events and avoid listener wrapper identity mismatch\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a64aff9b59999077ea915486a7fa0b97a286659\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a64aff9b5-fix-green\" alt=\"fix - 7a64aff9b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent event replay double-invocation when element hydrates before app stability\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be1f80a253b8ee27ed7d8de2287d6895c4821909\"\u003e\u003cimg src=\"https://img.shields.io/badge/be1f80a253-fix-green\" alt=\"fix - be1f80a253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003edocs\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7907e982ee90778e596d3e849f0a31c6c26db235\"\u003e\u003ccode\u003e7907e98\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2b257b36590677d436d45e98cefe7ca886c7bd57\"\u003e\u003ccode\u003e2b257b3\u003c/code\u003e\u003c/a\u003e fix(animations): account for \u003ccode\u003eElement.animate\u003c/code\u003e exceptions (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64506\"\u003e#64506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dde5badb7133826187314e07fcdc578297aabbc9\"\u003e\u003ccode\u003edde5bad\u003c/code\u003e\u003c/a\u003e fix(core): prevent animations renderer from impacting \u003ccode\u003eanimate.leave\u003c/code\u003e (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63921\"\u003e#63921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c3576506b3c13389e18fa4c0c29bdf536f604142\"\u003e\u003ccode\u003ec357650\u003c/code\u003e\u003c/a\u003e refactor(core): Update tests for zoneless by default (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63668\"\u003e#63668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/021ead5399ab1136da160c7348ec8555ef5ee8fd\"\u003e\u003ccode\u003e021ead5\u003c/code\u003e\u003c/a\u003e refactor(animations): remove dependency on \u003ccode\u003e@angular/common\u003c/code\u003e (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63248\"\u003e#63248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 20.2.14 to 21.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003cimg src=\"https://img.shields.io/badge/48973661e-fix-green\" alt=\"fix - 48973661e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.9\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/51271c6194a9b55ee847c566a8960c9be5ec7cce\"\u003e\u003cimg src=\"https://img.shields.io/badge/51271c619-fix-green\" alt=\"fix - 51271c619\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow stepper to be labelled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33137\"\u003e#33137\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/3a3852d45a4bbcfb23b46ca00e0eba1d70081ba3\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a3852d45-fix-green\" alt=\"fix - 3a3852d45\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e enter/space key on child node should not toggle parent node expansion (\u003ca href=\"https://redirect.github.com/angular/components/issues/33125\"\u003e#33125\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bf14cc9d9fd349974cba853d4747b6859b3aae5b\"\u003e\u003cimg src=\"https://img.shields.io/badge/bf14cc9d9-fix-green\" alt=\"fix - bf14cc9d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e use computed for menu item patterns, with trigger on visible (\u003ca href=\"https://redirect.github.com/angular/components/issues/33118\"\u003e#33118\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.8\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/5954c4594c6df87908bc7849214a29f6897b213e\"\u003e\u003cimg src=\"https://img.shields.io/badge/5954c4594c-fix-green\" alt=\"fix - 5954c4594c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e deprecate MatSortHeaderIntl and hide from docs (\u003ca href=\"https://redirect.github.com/angular/components/issues/33089\"\u003e#33089\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/5b4bbe9c4f8c902d6923b139e7a925822c899bc1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b4bbe9c4f-fix-green\" alt=\"fix - 5b4bbe9c4f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eselect:\u003c/strong\u003e wrong transform origin when opening upwards inside another overlay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33032\"\u003e#33032\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/895908a12dd81d889f95961da59e80823faf8889\"\u003e\u003cimg src=\"https://img.shields.io/badge/895908a12-fix-green\" alt=\"fix - 895908a12\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e not resetting margin if transition does not start (\u003ca href=\"https://redirect.github.com/angular/components/issues/33001\"\u003e#33001\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/475a8aabb30044c4cdca1bdb0b1de832db6e5936\"\u003e\u003cimg src=\"https://img.shields.io/badge/475a8aabb-fix-green\" alt=\"fix - 475a8aabb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslider:\u003c/strong\u003e not picking up static direction (\u003ca href=\"https://redirect.github.com/angular/components/issues/33006\"\u003e#33006\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/8a5ed09e59e312f82b969b19ae4d077e4574bd12\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a5ed09e5-fix-green\" alt=\"fix - 8a5ed09e5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etooltip:\u003c/strong\u003e allow hover detection logic to be customized (\u003ca href=\"https://redirect.github.com/angular/components/issues/33018\"\u003e#33018\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/42e10553cfcf205fea44522ae631fe23f90b03ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/42e10553c-fix-green\" alt=\"fix - 42e10553c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e linear updates not reflected in the DOM (\u003ca href=\"https://redirect.github.com/angular/components/issues/33007\"\u003e#33007\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003eadd8f16c0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e9d73c98b5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e75718e4fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/583da8a564dcb667cb8928e79d286eadee0a5013\"\u003e\u003ccode\u003e583da8a\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.10 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/babfbb7430547d5f4558174aec1a07ce6c67a26f\"\u003e\u003ccode\u003ebabfbb7\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33205\"\u003e#33205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e08fdf2a6a120078b512043bf5804bc3c7f9716a\"\u003e\u003ccode\u003ee08fdf2\u003c/code\u003e\u003c/a\u003e build: fix failing test (\u003ca href=\"https://redirect.github.com/angular/components/issues/33212\"\u003e#33212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/09e89fa188f157c0892019a461459cd9a252a673\"\u003e\u003ccode\u003e09e89fa\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33201\"\u003e#33201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003ccode\u003e4897366\u003c/code\u003e\u003c/a\u003e fix(aria/menu): do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/a6c5b72562b9d46ea3c10a2ecb668e013b46a103\"\u003e\u003ccode\u003ea6c5b72\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33181\"\u003e#33181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b7c34e306539716a1222468907ad4af5fb6b1aee\"\u003e\u003ccode\u003eb7c34e3\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33160\"\u003e#33160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/58e29cf1aa8265d6041350c716c5fbfa9e25b738\"\u003e\u003ccode\u003e58e29cf\u003c/code\u003e\u003c/a\u003e build: update dependency bazel_lib to v3.3.1 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33177\"\u003e#33177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e2f16ac34e93e69b1ef960ba70c517de799d05cc\"\u003e\u003ccode\u003ee2f16ac\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.33.2 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33165\"\u003e#33165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/20.2.14...v21.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f5d8a2c0b-fix-green\" alt=\"fix - 4f5d8a2c0b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003elet declaration span not including end character\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003cimg src=\"https://img.shields.io/badge/a40e2cebc8-fix-green\" alt=\"fix - a40e2cebc8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix ordering of view queries metadata in JIT mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/885a1a1d9757adfa8766d9b369c848a277438c31\"\u003e\u003cimg src=\"https://img.shields.io/badge/885a1a1d97-fix-green\" alt=\"fix - 885a1a1d97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against non-object events and avoid listener wrapper identity mismatch\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a64aff9b59999077ea915486a7fa0b97a286659\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a64aff9b5-fix-green\" alt=\"fix - 7a64aff9b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent event replay double-invocation when element hydrates before app stability\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be1f80a253b8ee27ed7d8de2287d6895c4821909\"\u003e\u003cimg src=\"https://img.shields.io/badge/be1f80a253-fix-green\" alt=\"fix - be1f80a253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003edocs\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/30cf85f71c52683016200ecf6d68b4418084ee6e\"\u003e\u003ccode\u003e30cf85f\u003c/code\u003e\u003c/a\u003e refactor(common): update deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/42d57c35781fb65fc4d44df59b6a85287664216a\"\u003e\u003ccode\u003e42d57c3\u003c/code\u003e\u003c/a\u003e refactor(common): fix viewport tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003ccode\u003e10ad3c0\u003c/code\u003e\u003c/a\u003e fix(common): prevent focus from scrollToAnchor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/540536c386f2c735a700c2c9e2697a88dcb3d4ec\"\u003e\u003ccode\u003e540536c\u003c/code\u003e\u003c/a\u003e fix(http): add CSP nonce support to JsonpClientBackend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8102331f82c808ca2256ba51a1d83803a61beabb\"\u003e\u003ccode\u003e8102331\u003c/code\u003e\u003c/a\u003e test(http): disable XSRF and mock location in HttpClient tests to avoid Domin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/13f050d2204285173273ebbfe9b34bc1b3c63c80\"\u003e\u003ccode\u003e13f050d\u003c/code\u003e\u003c/a\u003e test: construct local \u003ccode\u003eDate\u003c/code\u003e objects to fix timezone flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d0cf2995a2b63eb13fe574770ee8a756277852a4\"\u003e\u003ccode\u003ed0cf299\u003c/code\u003e\u003c/a\u003e test: remove unsupported timezone from \u003ccode\u003eformatDate\u003c/code\u003e tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b4ab6ba2e84a18309b0bb5dd68311ff1776b1cb4\"\u003e\u003ccode\u003eb4ab6ba\u003c/code\u003e\u003c/a\u003e fix(common): avoid redundant image fetch on destroy with auto sizes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/adda6c5c106815c727c1b820634614a045b42e9a\"\u003e\u003ccode\u003eadda6c5\u003c/code\u003e\u003c/a\u003e build: update \u003ccode\u003easpect_rules_js\u003c/code\u003e to \u003ccode\u003e3.0.2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/93c6dc6395d681dacd1dbbc46b95773038b6c32f\"\u003e\u003ccode\u003e93c6dc6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;refactor(http): Improves base64 encoding/decoding with feature detect...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f5d8a2c0b-fix-green\" alt=\"fix - 4f5d8a2c0b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003elet declaration span not including end character\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003cimg src=\"https://img.shields.io/badge/a40e2cebc8-fix-green\" alt=\"fix - a40e2cebc8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix ordering of view queries metadata in JIT mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/885a1a1d9757adfa8766d9b369c848a277438c31\"\u003e\u003cimg src=\"https://img.shields.io/badge/885a1a1d97-fix-green\" alt=\"fix - 885a1a1d97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against non-object events and avoid listener wrapper identity mismatch\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a64aff9b59999077ea915486a7fa0b97a286659\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a64aff9b5-fix-green\" alt=\"fix - 7a64aff9b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent event replay double-invocation when element hydrates before app stability\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be1f80a253b8ee27ed7d8de2287d6895c4821909\"\u003e\u003cimg src=\"https://img.shields.io/badge/be1f80a253-fix-green\" alt=\"fix - be1f80a253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003edocs\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003ccode\u003e4f5d8a2\u003c/code\u003e\u003c/a\u003e fix(compiler): let declaration span not including end character\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a4f312060cdf745e4fb0b15eda24ee2b4df0440c\"\u003e\u003ccode\u003ea4f3120\u003c/code\u003e\u003c/a\u003e refactor(compiler): require a reference in DirectiveMeta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/de533fe49181ee7409fd0b0ae4c0391a1e220ee6\"\u003e\u003ccode\u003ede533fe\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): move ClassPropertyMapping into compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ea1e34c4ddf404cde8d5c4ba0ba762bb0b9edbf8\"\u003e\u003ccode\u003eea1e34c\u003c/code\u003e\u003c/a\u003e refactor(compiler): move matchSource into base metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e40d378f3e3e7e57a45c8fbd9565ee06a3a6a13f\"\u003e\u003ccode\u003ee40d378\u003c/code\u003e\u003c/a\u003e fix(compiler): handle nested brackets in host object bindings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d04ddd73dfc03f420afbdde964c5119f338af135\"\u003e\u003ccode\u003ed04ddd7\u003c/code\u003e\u003c/a\u003e fix(core): prevent binding unsafe attributes on SVG animation elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/67797\"\u003e#67797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fea25d1a60ecaba1599d9cd9b8df27109ed195c5\"\u003e\u003ccode\u003efea25d1\u003c/code\u003e\u003c/a\u003e fix(compiler): register SVG animation attributes in URL security context (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/67\"\u003e#67\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/880a57d4b34af5aa27cd5bee11fa218ade6444bb\"\u003e\u003ccode\u003e880a57d\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent shimCssText from adding extra blank lines per CSS comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f5d8a2c0b-fix-green\" alt=\"fix - 4f5d8a2c0b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003elet declaration span not including end character\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003cimg src=\"https://img.shields.io/badge/a40e2cebc8-fix-green\" alt=\"fix - a40e2cebc8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix ordering of view queries metadata in JIT mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/885a1a1d9757adfa8766d9b369c848a277438c31\"\u003e\u003cimg src=\"https://img.shields.io/badge/885a1a1d97-fix-green\" alt=\"fix - 885a1a1d97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against non-object events and avoid listener wrapper identity mismatch\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a64aff9b59999077ea915486a7fa0b97a286659\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a64aff9b5-fix-green\" alt=\"fix - 7a64aff9b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent event replay double-invocation when element hydrates before app stability\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be1f80a253b8ee27ed7d8de2287d6895c4821909\"\u003e\u003cimg src=\"https://img.shields.io/badge/be1f80a253-fix-green\" alt=\"fix - be1f80a253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003edocs\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003ccode\u003e9e38ed7\u003c/code\u003e\u003c/a\u003e fix(core): sanitizer typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003ccode\u003e3430251\u003c/code\u003e\u003c/a\u003e fix(core): i18n flags leaking on errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003ccode\u003ec37f6ca\u003c/code\u003e\u003c/a\u003e fix(core): visit ng-let expression value in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003ccode\u003efe13bb6\u003c/code\u003e\u003c/a\u003e fix(core): allow explicit read generic with signal input transforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003ccode\u003e7a05a9a\u003c/code\u003e\u003c/a\u003e fix(core): validate security-sensitive attributes in i18n bindings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003ccode\u003e1aeebbe\u003c/code\u003e\u003c/a\u003e fix(core): respect ngSkipHydration on components with projectable nodes in LC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4900e453e1a2e9351ad2672a804d876ff5a62968\"\u003e\u003ccode\u003e4900e45\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003ccode\u003ea40e2ce\u003c/code\u003e\u003c/a\u003e fix(core): fix ordering of view queries metadata in JIT mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9bcbf376413632590ef1fb1cebe68d049d9bd45b\"\u003e\u003ccode\u003e9bcbf37\u003c/code\u003e\u003c/a\u003e refactor(core): fix bundling symbol test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate securi...\n\n_Description has been truncated_","html_url":"https://github.com/freedy79/Chorleiter/pull/923","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/freedy79%2FChorleiter/issues/923","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/923/packages"},{"uuid":"4474000305","node_id":"PR_kwDOBucjac7c5Wbf","number":161,"state":"closed","title":"chore(deps): Bump the all-deps group across 1 directory with 58 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-25T22:37:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T02:43:50.000Z","updated_at":"2026-05-25T22:37:51.000Z","time_to_close":590039,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"all-deps","update_count":58,"packages":[{"name":"@analogjs/content","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/router","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/vite-plugin-angular","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/vitest-angular","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular/animations","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-server","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"mermaid","old_version":"11.14.0","new_version":"11.15.0","repository_url":"https://github.com/mermaid-js/mermaid"},{"name":"@analogjs/platform","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular-devkit/architect","old_version":"0.2102.10","new_version":"0.2102.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/core","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/schematics","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-eslint/eslint-plugin","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/eslint-plugin-template","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/template-parser","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular/build","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/language-service","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@commitlint/cli","old_version":"21.0.0","new_version":"21.0.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.0","new_version":"21.0.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@nx/angular","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/devkit","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/esbuild","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/eslint","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/eslint-plugin","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/js","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/node","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/playwright","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/vite","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/vitest","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/web","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/workspace","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@oxc-project/runtime","old_version":"0.129.0","new_version":"0.132.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@schematics/angular","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@types/node","old_version":"25.6.2","new_version":"25.9.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/utils","old_version":"8.59.2","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"angular-eslint","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"eslint","old_version":"10.3.0","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-playwright","old_version":"2.10.2","new_version":"2.10.3","repository_url":"https://github.com/mskelton/eslint-plugin-playwright"},{"name":"lint-staged","old_version":"17.0.4","new_version":"17.0.5","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"nx","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"typescript-eslint","old_version":"8.59.2","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"8.0.11","new_version":"8.0.13","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"ink","old_version":"7.0.2","new_version":"7.0.3","repository_url":"https://github.com/vadimdemedes/ink"}],"path":null,"ecosystem":"npm"},"body":"Bumps the all-deps group with 58 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@analogjs/content](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@analogjs/router](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@analogjs/vitest-angular](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.12` | `21.2.13` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.10` | `21.2.11` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `21.2.13` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `21.2.13` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `21.2.13` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `21.2.13` |\n| [@angular/material](https://github.com/angular/components) | `21.2.10` | `21.2.11` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `21.2.13` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.12` | `21.2.13` |\n| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `21.2.12` | `21.2.13` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `21.2.13` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.12` | `21.2.13` |\n| [mermaid](https://github.com/mermaid-js/mermaid) | `11.14.0` | `11.15.0` |\n| [@analogjs/platform](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@angular-devkit/architect](https://github.com/angular/angular-cli) | `0.2102.10` | `0.2102.11` |\n| [@angular-devkit/core](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular-eslint/eslint-plugin](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/eslint-plugin-template](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin-template) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/template-parser](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/template-parser) | `21.3.1` | `21.4.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `21.2.13` |\n| [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `21.2.12` | `21.2.13` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.0` | `21.0.1` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.0` | `21.0.1` |\n| [@nx/angular](https://github.com/nrwl/nx/tree/HEAD/packages/angular) | `22.7.1` | `22.7.2` |\n| [@nx/devkit](https://github.com/nrwl/nx/tree/HEAD/packages/devkit) | `22.7.1` | `22.7.2` |\n| [@nx/esbuild](https://github.com/nrwl/nx/tree/HEAD/packages/esbuild) | `22.7.1` | `22.7.2` |\n| [@nx/eslint](https://github.com/nrwl/nx/tree/HEAD/packages/eslint) | `22.7.1` | `22.7.2` |\n| [@nx/eslint-plugin](https://github.com/nrwl/nx/tree/HEAD/packages/eslint-plugin) | `22.7.1` | `22.7.2` |\n| [@nx/js](https://github.com/nrwl/nx/tree/HEAD/packages/js) | `22.7.1` | `22.7.2` |\n| [@nx/node](https://github.com/nrwl/nx/tree/HEAD/packages/node) | `22.7.1` | `22.7.2` |\n| [@nx/playwright](https://github.com/nrwl/nx/tree/HEAD/packages/playwright) | `22.7.1` | `22.7.2` |\n| [@nx/vite](https://github.com/nrwl/nx/tree/HEAD/packages/vite) | `22.7.1` | `22.7.2` |\n| [@nx/vitest](https://github.com/nrwl/nx/tree/HEAD/packages/vitest) | `22.7.1` | `22.7.2` |\n| [@nx/web](https://github.com/nrwl/nx/tree/HEAD/packages/web) | `22.7.1` | `22.7.2` |\n| [@nx/workspace](https://github.com/nrwl/nx/tree/HEAD/packages/workspace) | `22.7.1` | `22.7.2` |\n| [@oxc-project/runtime](https://github.com/oxc-project/oxc/tree/HEAD/npm/runtime) | `0.129.0` | `0.132.0` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [@schematics/angular](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.2` | `25.9.0` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.59.2` | `8.59.4` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.6` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.5` | `4.1.6` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.3.1` | `21.4.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.3.0` | `10.4.0` |\n| [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright) | `2.10.2` | `2.10.3` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.4` | `17.0.5` |\n| [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) | `22.7.1` | `22.7.2` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.2` | `8.59.4` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.11` | `8.0.13` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.6` |\n| [ink](https://github.com/vadimdemedes/ink) | `7.0.2` | `7.0.3` |\n\n\nUpdates `@analogjs/content` from 2.5.0 to 2.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/releases\"\u003e@​analogjs/content's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/blob/beta/CHANGELOG.md\"\u003e@​analogjs/content's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/116bd1db7aca99a663540de960fb73338d6f7574\"\u003e\u003ccode\u003e116bd1d\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3646787bcfb786acd9160496bb3de7906de87390\"\u003e\u003ccode\u003e3646787\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2334\"\u003e#2334\u003c/a\u003e from analogjs/beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3f51e35a256153ca07946288299c2a323de1c015\"\u003e\u003ccode\u003e3f51e35\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/ae08d65f147a46a658af4b2ecd8c25b0972ed949\"\u003e\u003ccode\u003eae08d65\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/19bebb657fe3ff284eab72e852aac718b684f2a9\"\u003e\u003ccode\u003e19bebb6\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e\u003ccode\u003e46c608f\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/17dd6bfa5cd9fea6d46bba3e7ec6e2e0d629eade\"\u003e\u003ccode\u003e17dd6bf\u003c/code\u003e\u003c/a\u003e chore: update personal contributor information (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2331\"\u003e#2331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/bb4cf8a63e4e860b8d3c0970025a4759815f4bdb\"\u003e\u003ccode\u003ebb4cf8a\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e\u003ccode\u003e6f90b77\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): keep fallback-block components eager in defer walker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e\u003ccode\u003e8a0bae6\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): wrap binary/integer-literal receivers in member access\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@analogjs/router` from 2.5.0 to 2.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/releases\"\u003e@​analogjs/router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/blob/beta/CHANGELOG.md\"\u003e@​analogjs/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/116bd1db7aca99a663540de960fb73338d6f7574\"\u003e\u003ccode\u003e116bd1d\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3646787bcfb786acd9160496bb3de7906de87390\"\u003e\u003ccode\u003e3646787\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2334\"\u003e#2334\u003c/a\u003e from analogjs/beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3f51e35a256153ca07946288299c2a323de1c015\"\u003e\u003ccode\u003e3f51e35\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/ae08d65f147a46a658af4b2ecd8c25b0972ed949\"\u003e\u003ccode\u003eae08d65\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/19bebb657fe3ff284eab72e852aac718b684f2a9\"\u003e\u003ccode\u003e19bebb6\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e\u003ccode\u003e46c608f\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/17dd6bfa5cd9fea6d46bba3e7ec6e2e0d629eade\"\u003e\u003ccode\u003e17dd6bf\u003c/code\u003e\u003c/a\u003e chore: update personal contributor information (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2331\"\u003e#2331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/bb4cf8a63e4e860b8d3c0970025a4759815f4bdb\"\u003e\u003ccode\u003ebb4cf8a\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e\u003ccode\u003e6f90b77\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): keep fallback-block components eager in defer walker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e\u003ccode\u003e8a0bae6\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): wrap binary/integer-literal receivers in member access\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@analogjs/vite-plugin-angular` from 2.5.0 to 2.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/releases\"\u003e@​analogjs/vite-plugin-angular's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/blob/beta/CHANGELOG.md\"\u003e@​analogjs/vite-plugin-angular's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/116bd1db7aca99a663540de960fb73338d6f7574\"\u003e\u003ccode\u003e116bd1d\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3646787bcfb786acd9160496bb3de7906de87390\"\u003e\u003ccode\u003e3646787\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2334\"\u003e#2334\u003c/a\u003e from analogjs/beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3f51e35a256153ca07946288299c2a323de1c015\"\u003e\u003ccode\u003e3f51e35\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/ae08d65f147a46a658af4b2ecd8c25b0972ed949\"\u003e\u003ccode\u003eae08d65\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/19bebb657fe3ff284eab72e852aac718b684f2a9\"\u003e\u003ccode\u003e19bebb6\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e\u003ccode\u003e46c608f\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/17dd6bfa5cd9fea6d46bba3e7ec6e2e0d629eade\"\u003e\u003ccode\u003e17dd6bf\u003c/code\u003e\u003c/a\u003e chore: update personal contributor information (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2331\"\u003e#2331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/bb4cf8a63e4e860b8d3c0970025a4759815f4bdb\"\u003e\u003ccode\u003ebb4cf8a\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e\u003ccode\u003e6f90b77\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): keep fallback-block components eager in defer walker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e\u003ccode\u003e8a0bae6\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): wrap binary/integer-literal receivers in member access\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@analogjs/vitest-angular` from 2.5.0 to 2.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/releases\"\u003e@​analogjs/vitest-angular's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/blob/beta/CHANGELOG.md\"\u003e@​analogjs/vitest-angular's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/116bd1db7aca99a663540de960fb73338d6f7574\"\u003e\u003ccode\u003e116bd1d\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3646787bcfb786acd9160496bb3de7906de87390\"\u003e\u003ccode\u003e3646787\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2334\"\u003e#2334\u003c/a\u003e from analogjs/beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3f51e35a256153ca07946288299c2a323de1c015\"\u003e\u003ccode\u003e3f51e35\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/ae08d65f147a46a658af4b2ecd8c25b0972ed949\"\u003e\u003ccode\u003eae08d65\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/19bebb657fe3ff284eab72e852aac718b684f2a9\"\u003e\u003ccode\u003e19bebb6\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e\u003ccode\u003e46c608f\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/17dd6bfa5cd9fea6d46bba3e7ec6e2e0d629eade\"\u003e\u003ccode\u003e17dd6bf\u003c/code\u003e\u003c/a\u003e chore: update personal contributor information (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2331\"\u003e#2331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/bb4cf8a63e4e860b8d3c0970025a4759815f4bdb\"\u003e\u003ccode\u003ebb4cf8a\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e\u003ccode\u003e6f90b77\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): keep fallback-block components eager in defer walker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e\u003ccode\u003e8a0bae6\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): wrap binary/integer-literal receivers in member access\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/animations` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.10 to 21.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003eadd8f16c0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e9d73c98b5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e75718e4fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...v21.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/chrisjwalk/angular-cli-netcore-ngrx-starter/pull/161","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisjwalk%2Fangular-cli-netcore-ngrx-starter/issues/161","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/161/packages"},{"uuid":"4473733469","node_id":"PR_kwDOErxtJs7c4gYk","number":555,"state":"open","title":"Bump @angular/animations from 21.2.11 to 21.2.13","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-19T01:32:09.000Z","updated_at":"2026-05-19T01:35:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/animations","old_version":"21.2.11","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 21.2.11 to 21.2.13.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/animations\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.11\u0026new-version=21.2.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/cobbler/cobbler-web/pull/555","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobbler%2Fcobbler-web/issues/555","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/555/packages"}],"issue_packages":[{"old_version":"21.2.10","new_version":"22.0.1","update_type":"major","path":null,"pr_created_at":"2026-06-12T03:09:22.000Z","version_change":"21.2.10 → 22.0.1","issue":{"uuid":"4645912768","node_id":"PR_kwDONdNJI87lljEC","number":3418,"state":"closed","title":"chore(deps): bump the npm-dependencies group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies","major","frontend"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-12T23:41:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-12T03:09:22.000Z","updated_at":"2026-06-12T23:41:56.000Z","time_to_close":73952,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":30,"packages":[{"name":"@angular/animations","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.9","new_version":"22.0.1","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@stomp/rx-stomp","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/stomp-js/rx-stomp"},{"name":"chartjs-chart-matrix","old_version":"3.0.0","new_version":"3.0.4","repository_url":"https://github.com/kurkle/chartjs-chart-matrix"},{"name":"date-fns","old_version":"4.1.0","new_version":"4.4.0","repository_url":"https://github.com/date-fns/date-fns"},{"name":"dompurify","old_version":"3.4.1","new_version":"3.4.9","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"primeng","old_version":"21.1.6","new_version":"21.1.9","repository_url":"https://github.com/primefaces/primeng"},{"name":"uuid","old_version":"11.1.1","new_version":"14.0.0","repository_url":"https://github.com/uuidjs/uuid"},{"name":"ws","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/websockets/ws"},{"name":"zone.js","old_version":"0.16.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@analogjs/vite-plugin-angular","old_version":"2.5.0","new_version":"2.6.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/vitest-angular","old_version":"2.5.0","new_version":"2.6.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular/build","old_version":"21.2.8","new_version":"22.0.1","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.8","new_version":"22.0.1","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.10","new_version":"22.0.1","repository_url":"https://github.com/angular/angular"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"angular-eslint","old_version":"21.3.1","new_version":"22.0.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"eslint","old_version":"10.2.1","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 29 updates in the /booklore-ui directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.10` | `22.0.1` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.9` | `22.0.1` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.10` | `22.0.1` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.10` | `22.0.1` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.10` | `22.0.1` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.10` | `22.0.1` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.10` | `22.0.1` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.10` | `22.0.1` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.10` | `22.0.1` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.10` | `22.0.1` |\n| [@stomp/rx-stomp](https://github.com/stomp-js/rx-stomp) | `2.3.0` | `2.4.0` |\n| [chartjs-chart-matrix](https://github.com/kurkle/chartjs-chart-matrix) | `3.0.0` | `3.0.4` |\n| [date-fns](https://github.com/date-fns/date-fns) | `4.1.0` | `4.4.0` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.1` | `3.4.9` |\n| [primeng](https://github.com/primefaces/primeng/tree/HEAD/packages/primeng) | `21.1.6` | `21.1.9` |\n| [uuid](https://github.com/uuidjs/uuid) | `11.1.1` | `14.0.0` |\n| [ws](https://github.com/websockets/ws) | `8.20.0` | `8.21.0` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.16.1` | `0.16.2` |\n| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) | `2.5.0` | `2.6.1` |\n| [@analogjs/vitest-angular](https://github.com/analogjs/analog) | `2.5.0` | `2.6.1` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.1` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.1` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.10` | `22.0.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.3` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.8` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.3.1` | `22.0.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.2.1` | `10.4.1` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@angular/animations` from 21.2.10 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.9 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d75a22d69ddc9ffc5afa6b677f39fbbfc3ad5f7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d75a22d69-fix-green\" alt=\"fix - d75a22d69\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid errors with clobbered variables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/fe0a96ce673c3622e87a7a44bff8f40a1ad70675\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe0a96ce6-fix-green\" alt=\"fix - fe0a96ce6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate ID before attaching them to placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003e\u003cimg src=\"https://img.shields.io/badge/d7a8cb963-fix-green\" alt=\"fix - d7a8cb963\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/issues/33373\"\u003e#33373\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bde3c7621dddba2932f23743fc67a18feec664fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/bde3c7621-fix-green\" alt=\"fix - bde3c7621\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etimepicker:\u003c/strong\u003e do not allow intervals less than a second (\u003ca href=\"https://redirect.github.com/angular/components/issues/33354\"\u003e#33354\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/629aea4032cedf9428e3ed4f729d6a5836fa84de\"\u003e\u003cimg src=\"https://img.shields.io/badge/629aea403-fix-green\" alt=\"fix - 629aea403\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e avoid prototype conflicts in id generator (\u003ca href=\"https://redirect.github.com/angular/components/issues/33356\"\u003e#33356\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e\u003cimg src=\"https://img.shields.io/badge/49aeb676c-fix-green\" alt=\"fix - 49aeb676c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eclipboard:\u003c/strong\u003e avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33366\"\u003e#33366\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7581b0592b6aef617e3563e206b0645d3122d68c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7581b0592-fix-green\" alt=\"fix - 7581b0592\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e avoid error for synthetic events (\u003ca href=\"https://redirect.github.com/angular/components/issues/33360\"\u003e#33360\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1c4706155d6f8a5d465dbb2b6a40cf7da2efdf17\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c4706155-fix-green\" alt=\"fix - 1c4706155\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e prevent re-dispatching keyboard event on control target change (\u003ca href=\"https://redirect.github.com/angular/components/issues/33362\"\u003e#33362\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/96e9ce10c35ea3df9a9604a5ab3b5c85e8cc263e\"\u003e\u003cimg src=\"https://img.shields.io/badge/96e9ce10c-fix-green\" alt=\"fix - 96e9ce10c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e recursive textDirection getter (\u003ca href=\"https://redirect.github.com/angular/components/issues/33337\"\u003e#33337\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d91f46b4c522159e025d3b94b653981f344a4fdf\"\u003e\u003cimg src=\"https://img.shields.io/badge/d91f46b4c-feat-blue\" alt=\"feat - d91f46b4c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eaccordion:\u003c/strong\u003e introduce accordion harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33046\"\u003e#33046\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e3d84f2e0adb9254d804c10ba24e6c4528efad53\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3d84f2e0-feat-blue\" alt=\"feat - e3d84f2e0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33194\"\u003e#33194\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0ca47b4a060595919fd2b2cd62d0097071c4795d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0ca47b4a0-feat-blue\" alt=\"feat - 0ca47b4a0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e migrate simple-combobox directly into primary entrypoints (\u003ca href=\"https://redirect.github.com/angular/components/issues/33206\"\u003e#33206\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6ec07bc0cbe39be48faaf6021caecf2d0037df1f\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec07bc0c-feat-blue\" alt=\"feat - 6ec07bc0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33081\"\u003e#33081\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1885d35346e05341532aed56ac476f9a9eae179b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1885d3534-feat-blue\" alt=\"feat - 1885d3534\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elistbox:\u003c/strong\u003e introduce listbox harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33064\"\u003e#33064\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75fae5275c5702e64477da6a2ac8a14428623c8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fae5275-feat-blue\" alt=\"feat - 75fae5275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e introduce menu harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33067\"\u003e#33067\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c25e6252ecf3b5a6472151a8fca4af093b3322e6\"\u003e\u003cimg src=\"https://img.shields.io/badge/c25e6252e-feat-blue\" alt=\"feat - c25e6252e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33079\"\u003e#33079\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a49508bacf419f2e8f0545158de1f951f3ba1c1a\"\u003e\u003cimg src=\"https://img.shields.io/badge/a49508bac-feat-blue\" alt=\"feat - a49508bac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etoolbar:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33068\"\u003e#33068\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/30f223972870c3016e8e14f4bafb913d22117e20\"\u003e\u003cimg src=\"https://img.shields.io/badge/30f223972-feat-blue\" alt=\"feat - 30f223972\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33066\"\u003e#33066\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/91a4932f65e02ce7087cb38cc0198b6f1f993242\"\u003e\u003cimg src=\"https://img.shields.io/badge/91a4932f6-fix-green\" alt=\"fix - 91a4932f6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e increases autocomplete demo's  placeholder text c… (\u003ca href=\"https://redirect.github.com/angular/components/issues/33084\"\u003e#33084\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/218a77cf946808ca966c131f56c393ef91c662b3\"\u003e\u003cimg src=\"https://img.shields.io/badge/218a77cf9-fix-green\" alt=\"fix - 218a77cf9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e separates placeholder prefixes (\u003ca href=\"https://redirect.github.com/angular/components/issues/33163\"\u003e#33163\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce1d9a7286b66e2c9511183586fceabf2a925c02\"\u003e\u003cimg src=\"https://img.shields.io/badge/ce1d9a728-fix-green\" alt=\"fix - ce1d9a728\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e allow menu item role override (\u003ca href=\"https://redirect.github.com/angular/components/issues/33264\"\u003e#33264\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/196b7064db336830ee9c43244c00631935dd2c55\"\u003e\u003cimg src=\"https://img.shields.io/badge/196b7064d-fix-green\" alt=\"fix - 196b7064d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e defer menu item focus in case menus in cdk overlay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33258\"\u003e#33258\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6443b79f9a629c67766675ebd740722eb65b2926\"\u003e\u003cimg src=\"https://img.shields.io/badge/6443b79f9-fix-green\" alt=\"fix - 6443b79f9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e unable to set softDisabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33265\"\u003e#33265\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1a5d5d101aa0c3d3113ca8e77f0dbe4175afe655\"\u003e\u003cimg src=\"https://img.shields.io/badge/1a5d5d101-feat-blue\" alt=\"feat - 1a5d5d101\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/24115c02189ca0b1b3f09a909b8962d330f55f91\"\u003e\u003cimg src=\"https://img.shields.io/badge/24115c021-feat-blue\" alt=\"feat - 24115c021\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eportal:\u003c/strong\u003e add directives support to ComponentPortal (\u003ca href=\"https://redirect.github.com/angular/components/issues/33142\"\u003e#33142\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7426334c5efb76ac3f359e26a7f6e48e29d4ec78\"\u003e\u003cimg src=\"https://img.shields.io/badge/7426334c5-fix-green\" alt=\"fix - 7426334c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/81c6bbd89da765a3ce8fd9dd8fd0b36b8eac4ca4\"\u003e\u003cimg src=\"https://img.shields.io/badge/81c6bbd89-fix-green\" alt=\"fix - 81c6bbd89\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ffb23f6f825a0e86cd6d9bf3505af70b2264e588\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb23f6f8-fix-green\" alt=\"fix - ffb23f6f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/4c298970ed67abfa7b9980e219bbbafe3c71ddc5\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c298970e-fix-green\" alt=\"fix - 4c298970e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003escrolling:\u003c/strong\u003e make it easier to provide custom scrollable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33269\"\u003e#33269\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 \u0026quot;argon-apple\u0026quot; (2026-06-10)\u003c/h1\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7581b0592b6aef617e3563e206b0645d3122d68c\"\u003e7581b0592\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e avoid error for synthetic events (\u003ca href=\"https://redirect.github.com/angular/components/pull/33360\"\u003e#33360\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1c4706155d6f8a5d465dbb2b6a40cf7da2efdf17\"\u003e1c4706155\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e prevent re-dispatching keyboard event on control target change (\u003ca href=\"https://redirect.github.com/angular/components/pull/33362\"\u003e#33362\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/96e9ce10c35ea3df9a9604a5ab3b5c85e8cc263e\"\u003e96e9ce10c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e recursive textDirection getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33337\"\u003e#33337\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/629aea4032cedf9428e3ed4f729d6a5836fa84de\"\u003e629aea403\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e avoid prototype conflicts in id generator (\u003ca href=\"https://redirect.github.com/angular/components/pull/33356\"\u003e#33356\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e49aeb676c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eclipboard:\u003c/strong\u003e avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/pull/33366\"\u003e#33366\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003ed7a8cb963\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/pull/33373\"\u003e#33373\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bde3c7621dddba2932f23743fc67a18feec664fe\"\u003ebde3c7621\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etimepicker:\u003c/strong\u003e do not allow intervals less than a second (\u003ca href=\"https://redirect.github.com/angular/components/pull/33354\"\u003e#33354\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d75a22d69ddc9ffc5afa6b677f39fbbfc3ad5f7f\"\u003ed75a22d69\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid errors with clobbered variables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/fe0a96ce673c3622e87a7a44bff8f40a1ad70675\"\u003efe0a96ce6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate ID before attaching them to placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0 \u0026quot;aurostibite-ambulance\u0026quot; (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/75f6542fe71fda31d832e1c4ab75a7967b714530\"\u003e\u003ccode\u003e75f6542\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003e\u003ccode\u003ed7a8cb9\u003c/code\u003e\u003c/a\u003e fix(material/dialog): ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/issues/33373\"\u003e#33373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e\u003ccode\u003e49aeb67\u003c/code\u003e\u003c/a\u003e fix(cdk/clipboard): avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33366\"\u003e#33366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/5a5f6ebd82a1fa4b1e268f67ea3c44d736d033c6\"\u003e\u003ccode\u003e5a5f6eb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33326\"\u003e#33326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/ae48b2c3fca34146917d58f875c1978533d14054\"\u003e\u003ccode\u003eae48b2c\u003c/code\u003e\u003c/a\u003e docs(cdk/dialog): improve dialog example contrast (\u003ca href=\"https://redirect.github.com/angular/components/issues/33334\"\u003e#33334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1a68d18fc8a08dbdba3fd12bc4e092ab0cfb4d74\"\u003e\u003ccode\u003e1a68d18\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.34.1 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33316\"\u003e#33316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/c696e410aca8c9486ca80c52a5509b283f3612e3\"\u003e\u003ccode\u003ec696e41\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33331\"\u003e#33331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d84dca2656a7e9d1e16b1d124e1db0922a8694c4\"\u003e\u003ccode\u003ed84dca2\u003c/code\u003e\u003c/a\u003e build: update all github actions (\u003ca href=\"https://redirect.github.com/angular/components/issues/33348\"\u003e#33348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/da17b4c93529744861fd104fd5358aaea5cd2fe7\"\u003e\u003ccode\u003eda17b4c\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies to v3.2.1 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33350\"\u003e#33350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/7a8b3f76f643b7f9ff275af238181f6b5b9a5bde\"\u003e\u003ccode\u003e7a8b3f7\u003c/code\u003e\u003c/a\u003e docs(aria/menu): fix menubar example highlight styling (\u003ca href=\"https://redirect.github.com/angular/components/issues/33290\"\u003e#33290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.2.9...v22.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.10 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003ccode\u003edfff57e\u003c/code\u003e\u003c/a\u003e fix(common): Limits date format string length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003ccode\u003e1d87c49\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003ccode\u003effb06c0\u003c/code\u003e\u003c/a\u003e fix(http): ensure query parameters are inserted before URL fragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.10 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/booklore-app/booklore/pull/3418","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/booklore-app%2Fbooklore/issues/3418","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3418/packages"}},{"old_version":"21.2.12","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-05T06:45:52.000Z","version_change":"21.2.12 → 22.0.0","issue":{"uuid":"4594857804","node_id":"PR_kwDOEFZR6c7i_gfg","number":1245,"state":"closed","title":"Bump the npm-major group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["npm","dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T06:45:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-05T06:45:52.000Z","updated_at":"2026-06-12T06:45:21.000Z","time_to_close":604767,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-major","update_count":15,"packages":[{"name":"@angular/animations","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-major group with 15 updates in the /src/Moryx.Operators.Web/app directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.12` | `22.0.0` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.10` | `22.0.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `22.0.0` |\n| [@angular/material](https://github.com/angular/components) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `22.0.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.12` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `22.0.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `22.0.0` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `22.0.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@angular/animations` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d91f46b4c522159e025d3b94b653981f344a4fdf\"\u003e\u003cimg src=\"https://img.shields.io/badge/d91f46b4c-feat-blue\" alt=\"feat - d91f46b4c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eaccordion:\u003c/strong\u003e introduce accordion harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33046\"\u003e#33046\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e3d84f2e0adb9254d804c10ba24e6c4528efad53\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3d84f2e0-feat-blue\" alt=\"feat - e3d84f2e0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33194\"\u003e#33194\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0ca47b4a060595919fd2b2cd62d0097071c4795d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0ca47b4a0-feat-blue\" alt=\"feat - 0ca47b4a0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e migrate simple-combobox directly into primary entrypoints (\u003ca href=\"https://redirect.github.com/angular/components/issues/33206\"\u003e#33206\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6ec07bc0cbe39be48faaf6021caecf2d0037df1f\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec07bc0c-feat-blue\" alt=\"feat - 6ec07bc0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33081\"\u003e#33081\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1885d35346e05341532aed56ac476f9a9eae179b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1885d3534-feat-blue\" alt=\"feat - 1885d3534\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elistbox:\u003c/strong\u003e introduce listbox harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33064\"\u003e#33064\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75fae5275c5702e64477da6a2ac8a14428623c8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fae5275-feat-blue\" alt=\"feat - 75fae5275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e introduce menu harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33067\"\u003e#33067\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c25e6252ecf3b5a6472151a8fca4af093b3322e6\"\u003e\u003cimg src=\"https://img.shields.io/badge/c25e6252e-feat-blue\" alt=\"feat - c25e6252e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33079\"\u003e#33079\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a49508bacf419f2e8f0545158de1f951f3ba1c1a\"\u003e\u003cimg src=\"https://img.shields.io/badge/a49508bac-feat-blue\" alt=\"feat - a49508bac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etoolbar:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33068\"\u003e#33068\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/30f223972870c3016e8e14f4bafb913d22117e20\"\u003e\u003cimg src=\"https://img.shields.io/badge/30f223972-feat-blue\" alt=\"feat - 30f223972\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33066\"\u003e#33066\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/91a4932f65e02ce7087cb38cc0198b6f1f993242\"\u003e\u003cimg src=\"https://img.shields.io/badge/91a4932f6-fix-green\" alt=\"fix - 91a4932f6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e increases autocomplete demo's  placeholder text c… (\u003ca href=\"https://redirect.github.com/angular/components/issues/33084\"\u003e#33084\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/218a77cf946808ca966c131f56c393ef91c662b3\"\u003e\u003cimg src=\"https://img.shields.io/badge/218a77cf9-fix-green\" alt=\"fix - 218a77cf9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e separates placeholder prefixes (\u003ca href=\"https://redirect.github.com/angular/components/issues/33163\"\u003e#33163\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce1d9a7286b66e2c9511183586fceabf2a925c02\"\u003e\u003cimg src=\"https://img.shields.io/badge/ce1d9a728-fix-green\" alt=\"fix - ce1d9a728\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e allow menu item role override (\u003ca href=\"https://redirect.github.com/angular/components/issues/33264\"\u003e#33264\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/196b7064db336830ee9c43244c00631935dd2c55\"\u003e\u003cimg src=\"https://img.shields.io/badge/196b7064d-fix-green\" alt=\"fix - 196b7064d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e defer menu item focus in case menus in cdk overlay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33258\"\u003e#33258\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6443b79f9a629c67766675ebd740722eb65b2926\"\u003e\u003cimg src=\"https://img.shields.io/badge/6443b79f9-fix-green\" alt=\"fix - 6443b79f9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e unable to set softDisabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33265\"\u003e#33265\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1a5d5d101aa0c3d3113ca8e77f0dbe4175afe655\"\u003e\u003cimg src=\"https://img.shields.io/badge/1a5d5d101-feat-blue\" alt=\"feat - 1a5d5d101\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/24115c02189ca0b1b3f09a909b8962d330f55f91\"\u003e\u003cimg src=\"https://img.shields.io/badge/24115c021-feat-blue\" alt=\"feat - 24115c021\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eportal:\u003c/strong\u003e add directives support to ComponentPortal (\u003ca href=\"https://redirect.github.com/angular/components/issues/33142\"\u003e#33142\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7426334c5efb76ac3f359e26a7f6e48e29d4ec78\"\u003e\u003cimg src=\"https://img.shields.io/badge/7426334c5-fix-green\" alt=\"fix - 7426334c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/81c6bbd89da765a3ce8fd9dd8fd0b36b8eac4ca4\"\u003e\u003cimg src=\"https://img.shields.io/badge/81c6bbd89-fix-green\" alt=\"fix - 81c6bbd89\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ffb23f6f825a0e86cd6d9bf3505af70b2264e588\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb23f6f8-fix-green\" alt=\"fix - ffb23f6f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/4c298970ed67abfa7b9980e219bbbafe3c71ddc5\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c298970e-fix-green\" alt=\"fix - 4c298970e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003escrolling:\u003c/strong\u003e make it easier to provide custom scrollable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33269\"\u003e#33269\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/aa42b7798b23dfa94b96ac217d8139d9cfa86c55\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa42b7798-fix-green\" alt=\"fix - aa42b7798\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etable:\u003c/strong\u003e expose rendered rows (\u003ca href=\"https://redirect.github.com/angular/components/issues/33304\"\u003e#33304\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/867ba993b3baf35868d7c898e77289870316bbb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/867ba993b-feat-blue\" alt=\"feat - 867ba993b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebottom-sheet:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b4a89d5996864e591cfac762db420ec591d931e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a89d599-feat-blue\" alt=\"feat - b4a89d599\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e Add support for showing a progress indicator inside the button (\u003ca href=\"https://redirect.github.com/angular/components/issues/32698\"\u003e#32698\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a46b0a1d4200bf74b036c25ee477d22025f444c8\"\u003e\u003cimg src=\"https://img.shields.io/badge/a46b0a1d4-feat-blue\" alt=\"feat - a46b0a1d4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecore:\u003c/strong\u003e add mixins for Material Design typography (\u003ca href=\"https://redirect.github.com/angular/components/issues/32959\"\u003e#32959\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bf3596b53ba1cf118ec06343f8a7772e0fb0e55d\"\u003e\u003cimg src=\"https://img.shields.io/badge/bf3596b53-feat-blue\" alt=\"feat - bf3596b53\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/85c16fe4bb68d89d1f304350ecf965aeceea4662\"\u003e\u003cimg src=\"https://img.shields.io/badge/85c16fe4b-feat-blue\" alt=\"feat - 85c16fe4b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e add support for separate tab animation durations (\u003ca href=\"https://redirect.github.com/angular/components/issues/32869\"\u003e#32869\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/440cb16064a4daf50437e806057403cf80c52bd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/440cb1606-fix-green\" alt=\"fix - 440cb1606\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eautocomplete:\u003c/strong\u003e remove modal workaround\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/21f8bbbf226c1938c46fe2afcc4d8d070ec33c86\"\u003e\u003cimg src=\"https://img.shields.io/badge/21f8bbbf2-fix-green\" alt=\"fix - 21f8bbbf2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebadge:\u003c/strong\u003e allow badge defaults to be configured (\u003ca href=\"https://redirect.github.com/angular/components/issues/33312\"\u003e#33312\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/07c2d002de52de1691410543a83ffffd7a0b373b\"\u003e\u003cimg src=\"https://img.shields.io/badge/07c2d002d-fix-green\" alt=\"fix - 07c2d002d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecore:\u003c/strong\u003e address sass compiler warnings (\u003ca href=\"https://redirect.github.com/angular/components/issues/33040\"\u003e#33040\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003e\u003cimg src=\"https://img.shields.io/badge/add8f16c0-fix-green\" alt=\"fix - add8f16c0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/31904510be852961916283d830ae80167ee52dbb\"\u003e\u003cimg src=\"https://img.shields.io/badge/31904510b-fix-green\" alt=\"fix - 31904510b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e close menu when cleared from trigger (\u003ca href=\"https://redirect.github.com/angular/components/issues/33306\"\u003e#33306\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d73c98b5-fix-green\" alt=\"fix - 9d73c98b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/issues/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/348c3c89d511ab5f74fda95ef0f0ae7a332527fb\"\u003e\u003cimg src=\"https://img.shields.io/badge/348c3c89d-fix-green\" alt=\"fix - 348c3c89d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eselect:\u003c/strong\u003e remove modal workaround\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/f1a435508ada291b580e20e628464f552288690d\"\u003e\u003cimg src=\"https://img.shields.io/badge/f1a435508-fix-green\" alt=\"fix - f1a435508\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e handle mixed sidenav and drawer (\u003ca href=\"https://redirect.github.com/angular/components/issues/33274\"\u003e#33274\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c3161985279bf49f9aae55b732fdd3b2872e1f7e\"\u003e\u003cimg src=\"https://img.shields.io/badge/c31619852-fix-green\" alt=\"fix - c31619852\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e mark content as inert while open\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a4d92c5fcb7d163ec8dd180815175bbaa0a38491\"\u003e\u003cimg src=\"https://img.shields.io/badge/a4d92c5fc-fix-green\" alt=\"fix - a4d92c5fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e more robust reset logic for inert attribute (\u003ca href=\"https://redirect.github.com/angular/components/issues/33257\"\u003e#33257\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c2f1c5b035795079b155b9e60a290abe4d4c9537\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2f1c5b03-fix-green\" alt=\"fix - c2f1c5b03\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e query not resolving\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e\u003cimg src=\"https://img.shields.io/badge/75718e4fb-fix-green\" alt=\"fix - 75718e4fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6ed6218c474bfe4578b17d2391d8677fe92671cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ed6218c4-fix-green\" alt=\"fix - 6ed6218c4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e incorrect animation variable name (\u003ca href=\"https://redirect.github.com/angular/components/issues/32941\"\u003e#32941\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 \u0026quot;aurostibite-ambulance\u0026quot; (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003emultiple\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eA bunch of constructors that with rest arguments have been removed. If you were extending Material/CDK components, you may have to update your \u003ccode\u003esuper\u003c/code\u003e calls accordingly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRenames the values input/model to value in Combobox, Listbox, Tree, Menu, Toolbar, and Select. Users must update their templates to use the value property instead of values.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(multiple): update api goldens\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e44ff8318911927624d90e0d2fcba6ee94ec5ff7\"\u003ee44ff8318\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd support for the gmp-click event (\u003ca href=\"https://redirect.github.com/angular/components/pull/33147\"\u003e#33147\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/867ba993b3baf35868d7c898e77289870316bbb9\"\u003e867ba993b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebottom-sheet:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b4a89d5996864e591cfac762db420ec591d931e2\"\u003eb4a89d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e Add support for showing a progress indicator inside the button (\u003ca href=\"https://redirect.github.com/angular/components/pull/32698\"\u003e#32698\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a46b0a1d4200bf74b036c25ee477d22025f444c8\"\u003ea46b0a1d4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecore:\u003c/strong\u003e add mixins for Material Design typography (\u003ca href=\"https://redirect.github.com/angular/components/pull/32959\"\u003e#32959\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bf3596b53ba1cf118ec06343f8a7772e0fb0e55d\"\u003ebf3596b53\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e add the ability to pass bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/85c16fe4bb68d89d1f304350ecf965aeceea4662\"\u003e85c16fe4b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etabs:\u003c/strong\u003e add support for separate tab animation durations (\u003ca href=\"https://redirect.github.com/angular/components/pull/32869\"\u003e#32869\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/440cb16064a4daf50437e806057403cf80c52bd6\"\u003e440cb1606\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eautocomplete:\u003c/strong\u003e remove modal workaround\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/85e1545a29531ac366b09c72a6d41329c845a71b\"\u003e\u003ccode\u003e85e1545\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/da5c575d9120d90bbe740507792bb3230897e95a\"\u003e\u003ccode\u003eda5c575\u003c/code\u003e\u003c/a\u003e build: attempt to address flaky test (\u003ca href=\"https://redirect.github.com/angular/components/issues/33332\"\u003e#33332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/daa6d8db8eec2bf86dcc0f89a3f5c87bc7970533\"\u003e\u003ccode\u003edaa6d8d\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.0-rc.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/47c0525097f43a74c97c940a4672c390d0e8af76\"\u003e\u003ccode\u003e47c0525\u003c/code\u003e\u003c/a\u003e build: prevent docs site from rendering Aria examples under Material (\u003ca href=\"https://redirect.github.com/angular/components/issues/33324\"\u003e#33324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/21f8bbbf226c1938c46fe2afcc4d8d070ec33c86\"\u003e\u003ccode\u003e21f8bbb\u003c/code\u003e\u003c/a\u003e fix(material/badge): allow badge defaults to be configured (\u003ca href=\"https://redirect.github.com/angular/components/issues/33312\"\u003e#33312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/8c8d1a16cd541dd74a548ed0799c8df4f5b68153\"\u003e\u003ccode\u003e8c8d1a1\u003c/code\u003e\u003c/a\u003e docs(material/bottom-sheet): update panelClass comment (\u003ca href=\"https://redirect.github.com/angular/components/issues/33321\"\u003e#33321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/8339e2fa3146d39c5c9ca82db64ce266c2fa2309\"\u003e\u003ccode\u003e8339e2f\u003c/code\u003e\u003c/a\u003e build: update dev-infra actions to 649c3afeaa46674507b9625537e49de54a695e2b (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/10935f0ed2d1ca2cb23410de50e9f10bed93cf6f\"\u003e\u003ccode\u003e10935f0\u003c/code\u003e\u003c/a\u003e refactor(multiple): migrate tests to use whenStable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33317\"\u003e#33317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/975068516466430baf050e08cd77c4c4f4c85b4d\"\u003e\u003ccode\u003e9750685\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33256\"\u003e#33256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/5ba22b6f814e1f4b4345f7850cdcd17aa17fa495\"\u003e\u003ccode\u003e5ba22b6\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33270\"\u003e#33270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f7b3ed8db28c69ee0de9144465da351bda7e85e4\"\u003e\u003ccode\u003ef7b3ed8\u003c/code\u003e\u003c/a\u003e fix(http): Introduce a max buffer size for fetch requests on SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/618c8502829a1f2ca8ce048fdf4d8085b956734c\"\u003e\u003ccode\u003e618c850\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86390f2be41b2aae352b0c1ce4a5285fd065ef17\"\u003e\u003ccode\u003e86390f2\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6cfaf567256f5e89903f6b5625540e5a4a3bde3\"\u003e\u003ccode\u003ee6cfaf5\u003c/code\u003e\u003c/a\u003e fix(http): prevent \u003ccode\u003ehttpResource\u003c/code\u003e from leaking a subscription\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7d1fbc170a90ca12a3c1b805645bc37d12ed744d\"\u003e\u003ccode\u003e7d1fbc1\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae2cb00398954d9332e9f1f5abecce902cfc7658\"\u003e\u003ccode\u003eae2cb00\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc0fa6e3ded6dd3faa58800a140e49302adc38c8\"\u003e\u003ccode\u003ecc0fa6e\u003c/code\u003e\u003c/a\u003e refactor(http): update HTTP resource options APIs to stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/PHOENIXCONTACT/MORYX-Framework/pull/1245","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHOENIXCONTACT%2FMORYX-Framework/issues/1245","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1245/packages"}},{"old_version":"21.2.12","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-05T06:29:26.000Z","version_change":"21.2.12 → 22.0.0","issue":{"uuid":"4594769774","node_id":"PR_kwDOEFZR6c7i_OGA","number":1242,"state":"closed","title":"Bump the npm-major group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["npm","dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T06:28:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-05T06:29:26.000Z","updated_at":"2026-06-12T06:28:36.000Z","time_to_close":604748,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-major","update_count":14,"packages":[{"name":"@angular/animations","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-major group with 14 updates in the /src/Moryx.FactoryMonitor.Web/app directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.12` | `22.0.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `22.0.0` |\n| [@angular/material](https://github.com/angular/components) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `22.0.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.12` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `22.0.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `22.0.0` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `22.0.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@angular/animations` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f7b3ed8db28c69ee0de9144465da351bda7e85e4\"\u003e\u003ccode\u003ef7b3ed8\u003c/code\u003e\u003c/a\u003e fix(http): Introduce a max buffer size for fetch requests on SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/618c8502829a1f2ca8ce048fdf4d8085b956734c\"\u003e\u003ccode\u003e618c850\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86390f2be41b2aae352b0c1ce4a5285fd065ef17\"\u003e\u003ccode\u003e86390f2\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6cfaf567256f5e89903f6b5625540e5a4a3bde3\"\u003e\u003ccode\u003ee6cfaf5\u003c/code\u003e\u003c/a\u003e fix(http): prevent \u003ccode\u003ehttpResource\u003c/code\u003e from leaking a subscription\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7d1fbc170a90ca12a3c1b805645bc37d12ed744d\"\u003e\u003ccode\u003e7d1fbc1\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae2cb00398954d9332e9f1f5abecce902cfc7658\"\u003e\u003ccode\u003eae2cb00\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc0fa6e3ded6dd3faa58800a140e49302adc38c8\"\u003e\u003ccode\u003ecc0fa6e\u003c/code\u003e\u003c/a\u003e refactor(http): update HTTP resource options APIs to stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2891f7e7879238d941a7c40ebd51896fcd2fe6bb\"\u003e\u003ccode\u003e2891f7e\u003c/code\u003e\u003c/a\u003e fix(compiler): move projection attributes into constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d520fb671fc7774341947b872ed0e387689db9\"\u003e\u003ccode\u003e94d520f\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent namespaced SVG \u0026lt;style\u0026gt; elements from being stripped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d9c38e552db7efd868c4de815d6cde4ab0b14bc0\"\u003e\u003ccode\u003ed9c38e5\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a08e4fb93c371252da16b3b22cbf78f4ac180fa2\"\u003e\u003ccode\u003ea08e4fb\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003ccode\u003eab9154a\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003ccode\u003e6ff620a\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2200b4a85481abde02e40eb8f6d67227f6ac21e9\"\u003e\u003ccode\u003e2200b4a\u003c/code\u003e\u003c/a\u003e refactor(compiler): add support for compiling NgModules under isolatedDeclara...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b2b8dea7325c8d0d6788bbee6100d406f6ebe355\"\u003e\u003ccode\u003eb2b8dea\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/88d138ccc84b839784f59575fddcda3fcaf18d35\"\u003e\u003ccode\u003e88d138c\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.12 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --...\n\n_Description has been truncated_","html_url":"https://github.com/PHOENIXCONTACT/MORYX-Framework/pull/1242","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHOENIXCONTACT%2FMORYX-Framework/issues/1242","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1242/packages"}},{"old_version":"20.3.21","new_version":"20.3.24","update_type":"patch","path":null,"pr_created_at":"2026-06-05T06:17:23.000Z","version_change":"20.3.21 → 20.3.24","issue":{"uuid":"4594708072","node_id":"PR_kwDOSrrGF87i_BYE","number":12,"state":"closed","title":"Bump the angular group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T06:16:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-05T06:17:23.000Z","updated_at":"2026-06-12T06:16:53.000Z","time_to_close":604768,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":14,"packages":[{"name":"@angular/animations","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/localize","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-server","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"20.3.21","new_version":"20.3.24","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cli","old_version":"20.3.26","new_version":"20.3.27","repository_url":"https://github.com/angular/angular-cli"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `20.3.21` | `20.3.24` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `20.3.21` | `20.3.24` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `20.3.21` | `20.3.24` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `20.3.21` | `20.3.24` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `20.3.21` | `20.3.24` |\n| [@angular/localize](https://github.com/angular/angular) | `20.3.21` | `20.3.24` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `20.3.21` | `20.3.24` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `20.3.21` | `20.3.24` |\n| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `20.3.21` | `20.3.24` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `20.3.21` | `20.3.24` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `20.3.26` | `20.3.27` |\n\n\nUpdates `@angular/animations` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e6ca433e56b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e8680b5152f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.24/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e6ca433e56b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e8680b5152f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003ccode\u003e3d135ce\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003ccode\u003e39a4b4c\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003ccode\u003ede7b2a6\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003ccode\u003e4233188\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.24/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e6ca433e56b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e8680b5152f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003ccode\u003ed40acc6\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent namespaced SVG \u0026lt;style\u0026gt; elements from being stripped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ae6381a4845ad4b13a7a5574c5433b077c93c5c\"\u003e\u003ccode\u003e7ae6381\u003c/code\u003e\u003c/a\u003e test(compiler-cli): align ngtsc sanitization expectations with modern DOM sch...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/36200bd81a3420d8222dfe10767437c383a20fe8\"\u003e\u003ccode\u003e36200bd\u003c/code\u003e\u003c/a\u003e test(core): update spec files to match 20.3.x limits and actual contexts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68\"\u003e#68\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/823b37f0468f7c8b38637ce93e26fc8db791b282\"\u003e\u003ccode\u003e823b37f\u003c/code\u003e\u003c/a\u003e test(compiler): remove obsolete schema_extractor import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003ccode\u003ee345a58\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003ccode\u003e8f35b18\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003ccode\u003e64a89e9\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003ccode\u003e6404edf\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003ccode\u003edc631ef\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b66843ed2ee0805fd0bb8d3d5ea5dc356a0387f\"\u003e\u003ccode\u003e3b66843\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.24/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e6ca433e56b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e8680b5152f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ae6381a4845ad4b13a7a5574c5433b077c93c5c\"\u003e\u003ccode\u003e7ae6381\u003c/code\u003e\u003c/a\u003e test(compiler-cli): align ngtsc sanitization expectations with modern DOM sch...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/65954092483a88fc69cccd3b4c56d96450ac2fe8\"\u003e\u003ccode\u003e6595409\u003c/code\u003e\u003c/a\u003e test(core): update golden symbols and host bindings sanitization spec (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003ccode\u003ed86e4e7\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8f1f7276514e258e8c815ec5c7d9b8826ecd372\"\u003e\u003ccode\u003eb8f1f72\u003c/code\u003e\u003c/a\u003e test(core): remove obsolete blockquote cite host binding tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/36200bd81a3420d8222dfe10767437c383a20fe8\"\u003e\u003ccode\u003e36200bd\u003c/code\u003e\u003c/a\u003e test(core): update spec files to match 20.3.x limits and actual contexts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68\"\u003e#68\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81e70d3ea70d2d8a1541834ac3b69e570d3fdb6f\"\u003e\u003ccode\u003e81e70d3\u003c/code\u003e\u003c/a\u003e refactor(core): resolve merge conflicts in sanitization.ts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003ccode\u003e909ef04\u003c/code\u003e\u003c/a\u003e fix(core): synchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003ccode\u003ee345a58\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003ccode\u003e8f35b18\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003ccode\u003e64a89e9\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.24/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 20.3.21 to 20.3.24\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e20.3.24\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ca433e56bcf74fdb6ad01d3afdf59628fba69b6\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ca433e56b-fix-green\" alt=\"fix - 6ca433e56b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on suspicious URLs and restrict protocol-relative URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8680b5152fe58ebde81e331b74ba806fc86514cc\"\u003e\u003cimg src=\"https://img.shields.io/badge/8680b5152f-fix-green\" alt=\"fix - 8680b5152f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate domino to latest version\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.23\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d40acc6431997b304ec54c951e55d2e52ed6f6dc\"\u003e\u003cimg src=\"https://img.shields.io/badge/d40acc6431-fix-green\" alt=\"fix - d40acc6431\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.22\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d135ce59bbf7426825bc493bc681f266846ac79\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d135ce59b-fix-green\" alt=\"fix - 3d135ce59b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39a4b4cc8e8d101a566a70658707bc9f53dd5883\"\u003e\u003cimg src=\"https://img.shields.io/badge/39a4b4cc8e-fix-green\" alt=\"fix - 39a4b4cc8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8f35b182b1479ed80d652f185c2c3ee5a82ea34c\"\u003e\u003cimg src=\"https://img.shields.io/badge/8f35b182b1-fix-green\" alt=\"fix - 8f35b182b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64a89e917a0794a3d74713bdb4c9c63d703b317b\"\u003e\u003cimg src=\"https://img.shields.io/badge/64a89e917a-fix-green\" alt=\"fix - 64a89e917a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6404edfe0af3f27cb96737e72907553fb924d88a\"\u003e\u003cimg src=\"https://img.shields.io/badge/6404edfe0a-fix-green\" alt=\"fix - 6404edfe0a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e345a58069ede97250af449f5b7e9b94f828d30c\"\u003e\u003cimg src=\"https://img.shields.io/badge/e345a58069-fix-green\" alt=\"fix - e345a58069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d86e4e7b2ad0e667aeb0f8ed053e2cb2bd154b81\"\u003e\u003cimg src=\"https://img.shields.io/badge/d86e4e7b2a-fix-green\" alt=\"fix - d86e4e7b2a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04936045707dc871e135ebb7b8cd357ac154df\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04936045-fix-green\" alt=\"fix - af04936045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc631efa96e787bee1277f324208f21c36c1fa71\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc631efa96-fix-green\" alt=\"fix - dc631efa96\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/909ef047b3f93b44a7ba390332707239af2f73fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/909ef047b3-fix-green\" alt=\"fix - 909ef047b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68926\"\u003e#68926\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/de7b2a62e7eded747c2a520c177cd41f60a96dcd\"\u003e\u003cimg src=\"https://img.shields.io/badge/de7b2a62e7-fix-green\" alt=\"fix - de7b2a62e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4233188d8e70283190ea87dbaa5a872269291b4a\"\u003e\u003cimg src=\"https://img.shields.io/badge/4233188d8e-fix-green\" alt=\"fix - 4233188d8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a60f60451a0772fb5de9e231a1872081b0467f\"\u003e\u003cimg src=\"https://img.shields.io/badge/49a60f6045-fix-green\" alt=\"fix - 49a60f6045\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5fdfd8a9983c2a19415afe26c03ffd544278a28f\"\u003e\u003cimg src=\"https://img.shields.io/badge/5fdfd8a998-fix-green\" alt=\"fix - 5fdfd8a998\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve redirect policy on reconstructed asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83b022f2d063b6b3171c2621f3d52c11971aacff\"\u003e\u003cimg src=\"https://img.shields.io/badge/83b022f2d0-fix-green\" alt=\"fix - 83b022f2d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e617fa06ebad6e8495ff8f662805a24df73a78d4\"\u003e\u003cimg src=\"https://img.shields.io/badge/e617fa06eb-fix-green\" alt=\"fix - e617fa06eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e20.3.24 (2026-06-02)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003ct...\n\n_Description has been truncated_","html_url":"https://github.com/gflores390/front-dspace9/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gflores390%2Ffront-dspace9/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"21.2.15","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-04T02:16:33.000Z","version_change":"21.2.15 → 22.0.0","issue":{"uuid":"4585204229","node_id":"PR_kwDOJgPHWM7ifvW4","number":900,"state":"open","title":"chore(deps): bump @angular/animations from 21.2.15 to 22.0.0","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T02:16:33.000Z","updated_at":"2026-06-04T02:17:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/animations","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 21.2.15 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://goo.gle/angular-v22-blog\"\u003eBlog post \u0026quot;Announcing Angular v22\u0026quot;\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/animations\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.15\u0026new-version=22.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sto-info-app/sto-info-frontend/pull/900","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sto-info-app%2Fsto-info-frontend/issues/900","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/900/packages"}},{"old_version":"21.2.10","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-03T16:43:33.000Z","version_change":"21.2.10 → 22.0.0","issue":{"uuid":"4581848547","node_id":"PR_kwDOKbt4Ps7iUjFC","number":271,"state":"closed","title":"chore(deps): bump the examples group across 18 directories with 33 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-07T06:55:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T16:43:33.000Z","updated_at":"2026-06-07T06:55:04.000Z","time_to_close":310290,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"examples","update_count":33,"packages":[{"name":"@angular/animations","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@analogjs/vite-plugin-angular","old_version":"2.4.10","new_version":"2.6.0","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular/build","old_version":"21.2.8","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.10","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@hey-api/openapi-ts","old_version":"0.96.1","new_version":"0.98.1","repository_url":"https://github.com/hey-api/openapi-ts"}],"path":null,"ecosystem":"npm"},"body":"Bumps the examples group with 12 updates in the /examples/angular directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.10` | `22.0.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.10` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.10` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.10` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.10` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.10` | `22.0.0` |\n| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) | `2.4.10` | `2.6.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.10` | `22.0.0` |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n\nBumps the examples group with 14 updates in the /examples/angular-cli directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.10` | `22.0.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.10` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.10` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.10` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.10` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.10` | `22.0.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.10` | `22.0.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.10` | `22.0.0` |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.8` | `22.0.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.4` | `4.3.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.12` | `8.5.15` |\n\nBumps the examples group with 3 updates in the /examples/astro directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) and [zod](https://github.com/colinhacks/zod).\nBumps the examples group with 4 updates in the /examples/nuxt directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [zod](https://github.com/colinhacks/zod), [vue](https://github.com/vuejs/core) and [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc).\nBumps the examples group with 5 updates in the /examples/react directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.2` | `7.16.0` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n\nBumps the examples group with 7 updates in the /examples/react-inertia directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@inertiajs/react](https://github.com/inertiajs/inertia/tree/HEAD/packages/react) | `3.0.3` | `3.3.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n\nBumps the examples group with 7 updates in the /examples/react-inertia-jinja directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@inertiajs/react](https://github.com/inertiajs/inertia/tree/HEAD/packages/react) | `3.0.3` | `3.3.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n\nBumps the examples group with 6 updates in the /examples/react-router directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.2` | `7.16.0` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n\nBumps the examples group with 8 updates in the /examples/react-tanstack directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.7` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.16` |\n| [@tanstack/react-router](https://github.com/TanStack/router/tree/HEAD/packages/react-router) | `1.168.25` | `1.170.11` |\n| [@tanstack/router-plugin](https://github.com/TanStack/router/tree/HEAD/packages/router-plugin) | `1.167.28` | `1.168.14` |\n\nBumps the examples group with 3 updates in the /examples/svelte directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte) and [svelte-check](https://github.com/sveltejs/language-tools).\nBumps the examples group with 4 updates in the /examples/svelte-inertia directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte), [svelte-check](https://github.com/sveltejs/language-tools) and [@inertiajs/svelte](https://github.com/inertiajs/inertia/tree/HEAD/packages/svelte).\nBumps the examples group with 5 updates in the /examples/svelte-inertia-jinja directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte) | `7.0.0` | `7.1.2` |\n| [svelte-check](https://github.com/sveltejs/language-tools) | `4.4.6` | `4.5.0` |\n| [@inertiajs/svelte](https://github.com/inertiajs/inertia/tree/HEAD/packages/svelte) | `3.0.3` | `3.3.0` |\n\nBumps the examples group with 5 updates in the /examples/sveltekit directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte) | `7.0.0` | `7.1.2` |\n| [svelte-check](https://github.com/sveltejs/language-tools) | `4.4.6` | `4.5.0` |\n| [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit) | `2.60.1` | `2.62.0` |\n\nBumps the examples group with 3 updates in the /examples/vue directory: [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts), [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) and [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue).\nBumps the examples group with 6 updates in the /examples/vue-inertia directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.33` | `3.5.35` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.3` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@inertiajs/vue3](https://github.com/inertiajs/inertia/tree/HEAD/packages/vue3) | `3.0.3` | `3.3.0` |\n\nBumps the examples group with 6 updates in the /examples/vue-inertia-jinja directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.33` | `3.5.35` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.3` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@inertiajs/vue3](https://github.com/inertiajs/inertia/tree/HEAD/packages/vue3) | `3.0.3` | `3.3.0` |\n\nBumps the examples group with 7 updates in the /examples/vue-inertia-jinja-ssr directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.33` | `3.5.35` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.3` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@inertiajs/vue3](https://github.com/inertiajs/inertia/tree/HEAD/packages/vue3) | `3.0.3` | `3.3.0` |\n| [@vue/server-renderer](https://github.com/vuejs/core/tree/HEAD/packages/server-renderer) | `3.5.33` | `3.5.35` |\n\nBumps the examples group with 7 updates in the /examples/vue-inertia-ssr directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) | `0.96.1` | `0.98.1` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [vue](https://github.com/vuejs/core) | `3.5.33` | `3.5.35` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.3` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@inertiajs/vue3](https://github.com/inertiajs/inertia/tree/HEAD/packages/vue3) | `3.0.3` | `3.3.0` |\n| [@vue/server-renderer](https://github.com/vuejs/core/tree/HEAD/packages/server-renderer) | `3.5.33` | `3.5.35` |\n\n\nUpdates `@angular/animations` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e47fcbc4704\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e47fcbc4704\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f7b3ed8db28c69ee0de9144465da351bda7e85e4\"\u003e\u003ccode\u003ef7b3ed8\u003c/code\u003e\u003c/a\u003e fix(http): Introduce a max buffer size for fetch requests on SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/618c8502829a1f2ca8ce048fdf4d8085b956734c\"\u003e\u003ccode\u003e618c850\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86390f2be41b2aae352b0c1ce4a5285fd065ef17\"\u003e\u003ccode\u003e86390f2\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6cfaf567256f5e89903f6b5625540e5a4a3bde3\"\u003e\u003ccode\u003ee6cfaf5\u003c/code\u003e\u003c/a\u003e fix(http): prevent \u003ccode\u003ehttpResource\u003c/code\u003e from leaking a subscription\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7d1fbc170a90ca12a3c1b805645bc37d12ed744d\"\u003e\u003ccode\u003e7d1fbc1\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae2cb00398954d9332e9f1f5abecce902cfc7658\"\u003e\u003ccode\u003eae2cb00\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc0fa6e3ded6dd3faa58800a140e49302adc38c8\"\u003e\u003ccode\u003ecc0fa6e\u003c/code\u003e\u003c/a\u003e refactor(http): update HTTP resource options APIs to stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/96be4f429ba316c75d2d4a39ececcc529ec10943\"\u003e\u003cimg src=\"https://img.shields.io/badge/96be4f429b-fix-green\" alt=\"fix - 96be4f429b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eabstract emitter producing incorrect code for dynamic imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/488d962bc700fb7189749c63ba63eac50a54e363\"\u003e\u003cimg src=\"https://img.shields.io/badge/488d962bc7-fix-green\" alt=\"fix - 488d962bc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDon't bind inputs/outputs for \u003ccode\u003edata-\u003c/code\u003e attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2c5aabb9daf5da3ad539381ef1e430c77583e3bf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2c5aabb9da-fix-green\" alt=\"fix - 2c5aabb9da\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edon't escape dollar sign in literal expression\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003e\u003cimg src=\"https://img.shields.io/badge/c7aef8ec5d-fix-green\" alt=\"fix - c7aef8ec5d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/b225a5d902-fix-green\" alt=\"fix - b225a5d902\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ab9154ab75-fix-green\" alt=\"fix - ab9154ab75\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a1533c9ad-fix-green\" alt=\"fix - 8a1533c9ad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e\u003cimg src=\"https://img.shields.io/badge/194f723f66-fix-green\" alt=\"fix - 194f723f66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e\u003cimg src=\"https://img.shields.io/badge/4c25a42e98-fix-green\" alt=\"fix - 4c25a42e98\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ff620a033-fix-green\" alt=\"fix - 6ff620a033\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68868\"\u003e#68868\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e\u003cimg src=\"https://img.shields.io/badge/7dc1017e51-fix-green\" alt=\"fix - 7dc1017e51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d99ab0e0400d256021d6cc601e2a6e16f784a406\"\u003e\u003cimg src=\"https://img.shields.io/badge/d99ab0e040-fix-green\" alt=\"fix - d99ab0e040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estop generating unused field\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03db2aefaa88bc73b6af6ed1c9c722b65079ab3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/03db2aefaa-fix-green\" alt=\"fix - 03db2aefaa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on duplicate input/outputs\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/786ef8261f4faca0693ef73938d3a6275b5baf7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/786ef8261f-fix-green\" alt=\"fix - 786ef8261f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ethrow on invalid in expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003e\u003cimg src=\"https://img.shields.io/badge/ccb7d427e4-fix-green\" alt=\"fix - ccb7d427e4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8d3f36ed9-feat-blue\" alt=\"feat - b8d3f36ed9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9450219f5c30d1ce0a90061864e8c844c8807c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9450219f-feat-blue\" alt=\"feat - 7f9450219f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds warning for prefetch without main defer trigger\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e\u003cimg src=\"https://img.shields.io/badge/2eae497a04-feat-blue\" alt=\"feat - 2eae497a04\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e5f96c2d8813f95c91761ae3080065575ca3b536\"\u003e\u003cimg src=\"https://img.shields.io/badge/e5f96c2d88-fix-green\" alt=\"fix - e5f96c2d88\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eanimation events not type checked properly when bound through HostListener decorator\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9218140348cb2e3ad301c1e7f37db4b0cdad4f9d\"\u003e\u003cimg src=\"https://img.shields.io/badge/9218140348-fix-green\" alt=\"fix - 9218140348\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve TCB mapping failure for safe property reads with as any\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a0d6b8df21ca6a407e5c63dc0af753bc39c90c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a0d6b8df2-fix-green\" alt=\"fix - 7a0d6b8df2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etransform dropping exclamationToken from properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca67828ee247bdff46736661e51f43f2ca736a24\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca67828ee2-refactor-yellow\" alt=\"refactor - ca67828ee2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce NG8023 compile-time diagnostic for duplicate selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/17d3ea44e25e077b18178aa8108828f36eb821f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/17d3ea44e2-feat-blue\" alt=\"feat - 17d3ea44e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eIdleRequestOptions\u003c/code\u003e support to \u003ccode\u003eIdleService\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e\u003cimg src=\"https://img.shields.io/badge/3b0ae5fef0-feat-blue\" alt=\"feat - 3b0ae5fef0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.0 (2026-06-03)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis change will trigger the \u003ccode\u003enullishCoalescingNotNullable\u003c/code\u003e and \u003ccode\u003eoptionalChainNotNullable\u003c/code\u003e diagnostics on exisiting projects.\nYou might want to disable those 2 diagnotiscs in your \u003ccode\u003etsconfig\u003c/code\u003e temporarily.\u003c/li\u003e\n\u003cli\u003edata prefixed attribute no-longer bind inputs nor outputs.\u003c/li\u003e\n\u003cli\u003eThe compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ein\u003c/code\u003e variables will throw in template expressions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eElements with multiple matching selectors will now throw at compile time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe second arguement of appRef.bootstrap does not accept \u003ccode\u003eany\u003c/code\u003e anymore. Make sure the element you pass is not nullable.\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eTypeScript versions older than 6.0 are no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLeave animations are no longer limited to the element being removed.\u003c/li\u003e\n\u003cli\u003eComponent with undefined \u003ccode\u003echangeDetection\u003c/code\u003e property are now \u003ccode\u003eOnPush\u003c/code\u003e by default. Specify \u003ccode\u003echangeDetection: ChangeDetectionStrategy.Eager\u003c/code\u003e to keep the previous behavior.\u003c/li\u003e\n\u003cli\u003echange AnimationCallbackEvent.animationComplete signature\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChangeDetectorRef.checkNoChanges\u003c/code\u003e was removed. In tests use \u003ccode\u003efixture.detectChanges()\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecreateNgModuleRef\u003c/code\u003e was removed, use \u003ccode\u003ecreateNgModule\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponentFunction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eComponentFactoryResolver\u003c/code\u003e and \u003ccode\u003eComponentFactory\u003c/code\u003e are no longer available. Pass the component class directly to APIs that previously required a factory, such as \u003ccode\u003eViewContainerRef.createComponent\u003c/code\u003e or use the standalone \u003ccode\u003ecreateComponent\u003c/code\u003e function.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emin\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e validation rules no longer support\nstring values. Bound values must be numbers or null.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse the \u003ccode\u003eHttpXhrBackend\u003c/code\u003e with \u003ccode\u003eprovideHttpClient(withXhr)\u003c/code\u003e if you want to keep supporting upload progress reports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eplatform-browser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis removes styles when they appear to no longer be used by an associated \u003ccode\u003ehost\u003c/code\u003e. However other DOM on the page may still be affected by those styles if not leveraging \u003ccode\u003eViewEncapsulation.Emulated\u003c/code\u003e or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.\u003c/li\u003e\n\u003cli\u003eHammer.js integration has been removed. Use your own implementation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe return type for \u003ccode\u003eTitleStrategy.getResolvedTitleForRoute\u003c/code\u003e\nwas previously 'any' while the actual return type could only be either \u003ccode\u003estring\u003c/code\u003e\nor \u003ccode\u003eundefined\u003c/code\u003e. The return type now reflects the possible values correctly.\nCode that reads the value may need to be adjusted.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003ecurrentSnapshot\u003c/code\u003e parameter in \u003ccode\u003eCanMatchFn\u003c/code\u003e and the \u003ccode\u003ecanMatch\u003c/code\u003e method of the \u003ccode\u003eCanMatch\u003c/code\u003e interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of \u003ccode\u003eCanMatch\u003c/code\u003e must now include the third argument to satisfy the interface.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eparamsInheritanceStrategy now defaults to 'always'\u003c/p\u003e\n\u003cp\u003eThe default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eprovideRoutes()\u003c/code\u003e has been removed. Use \u003ccode\u003eprovideRouter()\u003c/code\u003e or \u003ccode\u003eROUTES\u003c/code\u003e as multi token if necessary.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003egetAngularLib\u003c/code\u003e/\u003ccode\u003esetAngularLib\u003c/code\u003e have been removed use \u003ccode\u003egetAngularJSGlobal\u003c/code\u003e/\u003ccode\u003esetAngularJSGlobal\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ewithFetch\u003c/code\u003e is now deprecated, it can be safely removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereportProgress\u003c/code\u003e option is deprecated please use \u003ccode\u003ereportUploadProgress\u003c/code\u003e \u0026amp;  \u003ccode\u003ereportDownloadProgress\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e47fcbc4704\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2891f7e7879238d941a7c40ebd51896fcd2fe6bb\"\u003e\u003ccode\u003e2891f7e\u003c/code\u003e\u003c/a\u003e fix(compiler): move projection attributes into constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d520fb671fc7774341947b872ed0e387689db9\"\u003e\u003ccode\u003e94d520f\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent namespaced SVG \u0026lt;style\u0026gt; elements from being stripped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d9c38e552db7efd868c4de815d6cde4ab0b14bc0\"\u003e\u003ccode\u003ed9c38e5\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a08e4fb93c371252da16b3b22cbf78f4ac180fa2\"\u003e\u003ccode\u003ea08e4fb\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4\"\u003e\u003ccode\u003eab9154a\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ff620a03364d6ab60cea47de942a04ec5a26c50\"\u003e\u003ccode\u003e6ff620a\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2200b4a85481abde02e40eb8f6d67227f6ac21e9\"\u003e\u003ccode\u003e2200b4a\u003c/code\u003e\u003c/a\u003e refactor(compiler): add support for compiling NgModules under isolatedDeclara...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b2b8dea7325c8d0d6788bbee6100d406f6ebe355\"\u003e\u003ccode\u003eb2b8dea\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/88d138ccc84b839784f59575fddcda3fcaf18d35\"\u003e\u003ccode\u003e88d138c\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.10 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVSCode Extension: 22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cp\u003eThe extension now bundles TypeScript version 6.0, which itself includes breaking\nchanges, including \u003ca href=\"https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html#simple-default-changes\"\u003enew defaults\u003c/a\u003e such as \u003ccode\u003estrict\u003c/code\u003e being \u003ccode\u003etrue\u003c/code\u003e. You will need to explicitly set\n\u003ccode\u003e\u0026quot;strict\u0026quot;: false\u003c/code\u003e in your \u003ccode\u003etsconfig.json\u003c/code\u003e. Alternatively, the extension supports configuring the \u003ccode\u003etsdk\u003c/code\u003e in the \u003ca href=\"https://code.visualstudio.com/docs/typescript/typescript-transpiling#_using-the-workspace-version-of-typescript\"\u003esame way\u003c/a\u003e as the built in TS/JS extension.\u003c/p\u003e\n\u003ch3\u003eFixes and features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(language-service): Add support for \u003ccode\u003e@Input\u003c/code\u003e with transforms (\u003ca href=\"https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580\"\u003edc9c72da9b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add Document Symbols support for Angular templates (\u003ca href=\"https://github.com/angular/angular/commit/cfd0f9950c08324e1c56f16d98a2e3081feeda58\"\u003ecfd0f9950c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): add angular template inlay hints support (\u003ca href=\"https://github.com/angular/angular/commit/5a6d88626b604db937287a501cb723c088412a7e\"\u003e5a6d88626b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(language-service): Add support for idle timeout in defer blocks (\u003ca href=\"https://github.com/angular/angular/commit/c6f98c723cdd2c209092927855f8cbaf63ecce30\"\u003ec6f98c723c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/47fcbc470462192c4f9e273d8dce8b353d5baaa2\"\u003e\u003cimg src=\"https://img.shields.io/badge/47fcbc4704-feat-blue\" alt=\"feat - 47fcbc4704\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow safe navigation to correctly narrow down nullables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2896c93cc1077e1306acd91f4ed62fed4204a26b\"\u003e\u003cimg src=\"https://img.shields.io/badge/2896c93cc1-feat-blue\" alt=\"feat - 2896c93cc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAngular expressions with optional chaining returns \u003ccode\u003eundefined\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e850643b1b8dca8cfdc12705be51441197cd987a\"\u003e\u003cimg src=\"https://img.shields.io/badge/e850643b1b-feat-blue\" alt=\"feat - e850643b1b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport comments in html element.\u003c/td\u003e\n\u003c/tr\u003e\n\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/litestar-org/litestar-vite/pull/271","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/litestar-org%2Flitestar-vite/issues/271","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/271/packages"}},{"old_version":"20.3.4","new_version":"21.2.15","update_type":"major","path":null,"pr_created_at":"2026-06-03T08:01:45.000Z","version_change":"20.3.4 → 21.2.15","issue":{"uuid":"4578005191","node_id":"PR_kwDOM27-6c7iH5B6","number":346,"state":"closed","title":"build(deps): bump @angular/animations from 20.3.4 to 21.2.15","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T20:54:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T08:01:45.000Z","updated_at":"2026-06-08T20:54:29.000Z","time_to_close":478362,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"@angular/animations","old_version":"20.3.4","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 20.3.4 to 21.2.15.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7907e982ee90778e596d3e849f0a31c6c26db235\"\u003e\u003ccode\u003e7907e98\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2b257b36590677d436d45e98cefe7ca886c7bd57\"\u003e\u003ccode\u003e2b257b3\u003c/code\u003e\u003c/a\u003e fix(animations): account for \u003ccode\u003eElement.animate\u003c/code\u003e exceptions (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64506\"\u003e#64506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dde5badb7133826187314e07fcdc578297aabbc9\"\u003e\u003ccode\u003edde5bad\u003c/code\u003e\u003c/a\u003e fix(core): prevent animations renderer from impacting \u003ccode\u003eanimate.leave\u003c/code\u003e (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63921\"\u003e#63921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c3576506b3c13389e18fa4c0c29bdf536f604142\"\u003e\u003ccode\u003ec357650\u003c/code\u003e\u003c/a\u003e refactor(core): Update tests for zoneless by default (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63668\"\u003e#63668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/021ead5399ab1136da160c7348ec8555ef5ee8fd\"\u003e\u003ccode\u003e021ead5\u003c/code\u003e\u003c/a\u003e refactor(animations): remove dependency on \u003ccode\u003e@angular/common\u003c/code\u003e (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63248\"\u003e#63248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/abdur1547/angular_starter/pull/346","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdur1547%2Fangular_starter/issues/346","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/346/packages"}},{"old_version":"21.2.13","new_version":"21.2.15","update_type":"patch","path":null,"pr_created_at":"2026-06-01T05:59:46.000Z","version_change":"21.2.13 → 21.2.15","issue":{"uuid":"4560727246","node_id":"PR_kwDOLJ4mQ87hPZ7J","number":125,"state":"closed","title":"chore(deps): bump the node-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T03:15:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T05:59:46.000Z","updated_at":"2026-06-08T03:15:47.000Z","time_to_close":594959,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"node-dependencies","update_count":12,"packages":[{"name":"@angular/animations","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@srgssr/pillarbox-web","old_version":"1.34.2","new_version":"1.35.1","repository_url":"https://github.com/SRGSSR/pillarbox-web"},{"name":"@angular/build","old_version":"21.2.11","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.11","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.13","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the node-dependencies group with 12 updates in the /samples/angular directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.13` | `21.2.15` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.13` | `21.2.15` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.13` | `21.2.15` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.13` | `21.2.15` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.13` | `21.2.15` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.13` | `21.2.15` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.13` | `21.2.15` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.13` | `21.2.15` |\n| [@srgssr/pillarbox-web](https://github.com/SRGSSR/pillarbox-web) | `1.34.2` | `1.35.1` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.13` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.13` | `21.2.15` |\n\n\nUpdates `@angular/animations` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003ccode\u003e582a417\u003c/code\u003e\u003c/a\u003e fix(http): exclude withCredentials requests from transfer cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003ccode\u003e5c6d6df\u003c/code\u003e\u003c/a\u003e fix(http): skip TransferCache for cookie-bearing requests by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003ccode\u003e300f61f\u003c/code\u003e\u003c/a\u003e fix(common): sanitize placeholder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003ccode\u003e7f4ac78\u003c/code\u003e\u003c/a\u003e fix(common): add upper bounds for digitsInfo\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003ccode\u003eeb1cbbf\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent namespaced SVG \u0026lt;style\u0026gt; elements from being stripped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003ccode\u003e782e015\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003ccode\u003eff12fe5\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003ccode\u003e0b07f47\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003ccode\u003ecc1378d\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003ccode\u003edaaf329\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/251c8f27409e05b540bf9a27ab90c8c0c7efdbca\"\u003e\u003ccode\u003e251c8f2\u003c/code\u003e\u003c/a\u003e test(core): remove obsolete SVG script sanitization translation test (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003ccode\u003edada86e\u003c/code\u003e\u003c/a\u003e fix(core): synchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003ccode\u003e782e015\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003ccode\u003eff12fe5\u003c/code\u003e\u003c/a\u003e fix(core): normalize tag names in runtime i18n attribute security context loo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003ccode\u003e0b07f47\u003c/code\u003e\u003c/a\u003e fix(compiler): normalize tag names with custom namespaces in DomElementSchema...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003ccode\u003ecc1378d\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a element...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003ccode\u003edaaf329\u003c/code\u003e\u003c/a\u003e fix(core): support prefix-insensitive DOM schema lookups and compile-time i18...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.13 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/SRGSSR/pillarbox-web-demo/pull/125","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRGSSR%2Fpillarbox-web-demo/issues/125","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/125/packages"}},{"old_version":"21.2.14","new_version":"21.2.15","update_type":"patch","path":null,"pr_created_at":"2026-05-31T08:13:15.000Z","version_change":"21.2.14 → 21.2.15","issue":{"uuid":"4556980591","node_id":"PR_kwDOFA51sc7hD9Wy","number":71,"state":"closed","title":"build(deps): bump @angular/animations from 21.2.14 to 21.2.15","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-31T08:17:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T08:13:15.000Z","updated_at":"2026-05-31T08:17:10.000Z","time_to_close":226,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"@angular/animations","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 21.2.14 to 21.2.15.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/animations\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.14\u0026new-version=21.2.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/phip1611/wambo-web/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/phip1611%2Fwambo-web/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"}},{"old_version":"21.2.10","new_version":"21.2.15","update_type":"patch","path":null,"pr_created_at":"2026-05-30T00:16:57.000Z","version_change":"21.2.10 → 21.2.15","issue":{"uuid":"4552425422","node_id":"PR_kwDOE9vB187g2LE6","number":140,"state":"open","title":"build(deps): bump @angular/animations from 21.2.10 to 21.2.15","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T00:16:57.000Z","updated_at":"2026-05-30T00:16:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"@angular/animations","old_version":"21.2.10","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 21.2.10 to 21.2.15.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/animations\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.10\u0026new-version=21.2.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/marcel-tov/angular-sudoku/pull/140","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcel-tov%2Fangular-sudoku/issues/140","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/140/packages"}},{"old_version":"21.2.11","new_version":"21.2.14","update_type":"patch","path":"/app-components","pr_created_at":"2026-05-28T09:45:30.000Z","version_change":"21.2.11 → 21.2.14","issue":{"uuid":"4539401124","node_id":"PR_kwDOInCflM7gLeDA","number":778,"state":"open","title":"Bump the all-dependencies group in /app-components with 17 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T09:45:30.000Z","updated_at":"2026-05-31T09:01:12.930Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-dependencies","update_count":17,"packages":[{"name":"@angular/animations","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.9","new_version":"21.2.13","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/elements","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.11","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular-eslint/builder","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/eslint-plugin","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/eslint-plugin-template","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/schematics","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/template-parser","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":"/app-components","ecosystem":"npm"},"body":"Bumps the all-dependencies group in /app-components with 17 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.11` | `21.2.14` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.9` | `21.2.13` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.11` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.11` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.11` | `21.2.14` |\n| [@angular/elements](https://github.com/angular/angular/tree/HEAD/packages/elements) | `21.2.11` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.11` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.11` | `21.2.14` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.11` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.11` | `21.2.14` |\n| [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/eslint-plugin](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/eslint-plugin-template](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin-template) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/template-parser](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/template-parser) | `21.3.1` | `21.4.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.2` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.2` | `8.60.0` |\n\nUpdates `@angular/animations` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.9 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003e\u003cimg src=\"https://img.shields.io/badge/da87be7646-fix-green\" alt=\"fix - da87be7646\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/issues/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003cimg src=\"https://img.shields.io/badge/48973661e-fix-green\" alt=\"fix - 48973661e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 \u0026quot;21-2-13\u0026quot; (2026-05-27)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.1 \u0026quot;metal-monkey\u0026quot; (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce1d9a7286b66e2c9511183586fceabf2a925c02\"\u003ece1d9a7286\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e allow menu item role override (\u003ca href=\"https://redirect.github.com/angular/components/pull/33264\"\u003e#33264\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/196b7064db336830ee9c43244c00631935dd2c55\"\u003e196b7064db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e defer menu item focus in case menus in cdk overlay (\u003ca href=\"https://redirect.github.com/angular/components/pull/33258\"\u003e#33258\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6443b79f9a629c67766675ebd740722eb65b2926\"\u003e6443b79f9a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e unable to set softDisabled (\u003ca href=\"https://redirect.github.com/angular/components/pull/33265\"\u003e#33265\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/4c298970ed67abfa7b9980e219bbbafe3c71ddc5\"\u003e4c298970ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003escrolling:\u003c/strong\u003e make it easier to provide custom scrollable (\u003ca href=\"https://redirect.github.com/angular/components/pull/33269\"\u003e#33269\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/f2f62675e19020fb6443f1477b4b1d93015a5927\"\u003ef2f62675e1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/pull/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/f1a435508ada291b580e20e628464f552288690d\"\u003ef1a435508a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e handle mixed sidenav and drawer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33274\"\u003e#33274\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a4d92c5fcb7d163ec8dd180815175bbaa0a38491\"\u003ea4d92c5fcb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e more robust reset logic for inert attribute (\u003ca href=\"https://redirect.github.com/angular/components/pull/33257\"\u003e#33257\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.12 \u0026quot;plastic-moose\u0026quot; (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003eda87be7646\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/pull/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 \u0026quot;crystal lotion\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c3161985279bf49f9aae55b732fdd3b2872e1f7e\"\u003ec316198527\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e mark content as inert while open\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c2f1c5b035795079b155b9e60a290abe4d4c9537\"\u003ec2f1c5b035\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e query not resolving\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emultiple\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/84f2afd24933c8742662ee6d12a6f3f98f5dea9e\"\u003e84f2afd249\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove developer preview tag from aria (\u003ca href=\"https://redirect.github.com/angular/components/pull/33232\"\u003e#33232\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/7828452e964b62f058f83f0d97cf9daedf875b57\"\u003e\u003ccode\u003e7828452\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.13 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e43b7aacd86fb00e34e894d9093a8255e4201ec8\"\u003e\u003ccode\u003ee43b7aa\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003e\u003ccode\u003eda87be7\u003c/code\u003e\u003c/a\u003e fix(material/datepicker): ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/issues/33281\"\u003e#33281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e101874701ed790345f2af292cee81fff573a46e\"\u003e\u003ccode\u003ee101874\u003c/code\u003e\u003c/a\u003e docs(material/tooltip): fix tooltip-position-at-origin example overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33218\"\u003e#33218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/583da8a564dcb667cb8928e79d286eadee0a5013\"\u003e\u003ccode\u003e583da8a\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.10 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/babfbb7430547d5f4558174aec1a07ce6c67a26f\"\u003e\u003ccode\u003ebabfbb7\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33205\"\u003e#33205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e08fdf2a6a120078b512043bf5804bc3c7f9716a\"\u003e\u003ccode\u003ee08fdf2\u003c/code\u003e\u003c/a\u003e build: fix failing test (\u003ca href=\"https://redirect.github.com/angular/components/issues/33212\"\u003e#33212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/09e89fa188f157c0892019a461459cd9a252a673\"\u003e\u003ccode\u003e09e89fa\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33201\"\u003e#33201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003ccode\u003e4897366\u003c/code\u003e\u003c/a\u003e fix(aria/menu): do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.2.9...v21.2.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/30cf85f71c52683016200ecf6d68b4418084ee6e\"\u003e\u003ccode\u003e30cf85f\u003c/code\u003e\u003c/a\u003e refactor(common): update deprecation message\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003ccode\u003e9e38ed7\u003c/code\u003e\u003c/a\u003e fix(core): sanitizer typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003ccode\u003e3430251\u003c/code\u003e\u003c/a\u003e fix(core): i18n flags leaking on errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/elements` from 21.2.11 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/elements's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/elements's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/t...\n\n_Description has been truncated_\n\n\u003c!-- CURSOR_SUMMARY --\u003e\n---\n\n\u003e [!NOTE]\n\u003e **Medium Risk**\n\u003e Patch-level Angular updates can change runtime security and template/host binding behavior; verify build, tests, and lint even though no app source changed.\n\u003e \n\u003e **Overview**\n\u003e This PR **only updates dependencies** in `app-components` (`package.json` and `package-lock.json`); there are **no application source changes**.\n\u003e \n\u003e **Runtime Angular** packages move from **21.2.11 → 21.2.14** (and `@angular/cdk` **21.2.9 → 21.2.13**), covering animations, common, compiler, core, elements, forms, platform-browser, platform-browser-dynamic, and router.\n\u003e \n\u003e **Tooling** bumps include `@angular-eslint/*` **21.3.1 → 21.4.0** and `@typescript-eslint/eslint-plugin` **8.59.2 → 8.60.0**; the lockfile also refreshes related transitive versions (e.g. Rollup, msgpackr, more `@typescript-eslint/*` at 8.60.0).\n\u003e \n\u003e Several devDependency pins in `package.json` are **unchanged** in this diff (e.g. `@angular/compiler-cli`, `@angular/cli`, `@angular-eslint/template-parser`, `@typescript-eslint/parser`), so the tree may still mix patch levels until a follow-up align.\n\u003e \n\u003e **Review focus:** run `npm ci`, `ng build`, `ng test`, and `ng lint` in `app-components`; upstream 21.2.x patches include security and binding/sanitizer fixes that can affect behavior without local code edits.\n\u003e \n\u003e \u003csup\u003eReviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 87753c54359befd1ea741db176e029e1dc1bd869. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).\u003c/sup\u003e\n\u003c!-- /CURSOR_SUMMARY --\u003e","html_url":"https://github.com/trimble-oss/modus-icons/pull/778","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/trimble-oss%2Fmodus-icons/issues/778","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/778/packages"}},{"old_version":"21.2.5","new_version":"21.2.14","update_type":"patch","path":"/frontend","pr_created_at":"2026-05-25T01:42:16.000Z","version_change":"21.2.5 → 21.2.14","issue":{"uuid":"4513696088","node_id":"PR_kwDOSgJ7t87e4G98","number":66,"state":"open","title":"chore(deps): bump the angular group in /frontend with 11 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T01:42:16.000Z","updated_at":"2026-05-25T01:42:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"angular","update_count":11,"packages":[{"name":"@angular/animations","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/build-angular","old_version":"21.2.3","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.3","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.5","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/frontend","ecosystem":"npm"},"body":"Bumps the angular group in /frontend with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.5` | `21.2.14` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.5` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.5` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.5` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.5` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.5` | `21.2.14` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.5` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.5` | `21.2.14` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.5` | `21.2.14` |\n\nUpdates `@angular/animations` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/30cf85f71c52683016200ecf6d68b4418084ee6e\"\u003e\u003ccode\u003e30cf85f\u003c/code\u003e\u003c/a\u003e refactor(common): update deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/42d57c35781fb65fc4d44df59b6a85287664216a\"\u003e\u003ccode\u003e42d57c3\u003c/code\u003e\u003c/a\u003e refactor(common): fix viewport tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003ccode\u003e10ad3c0\u003c/code\u003e\u003c/a\u003e fix(common): prevent focus from scrollToAnchor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/540536c386f2c735a700c2c9e2697a88dcb3d4ec\"\u003e\u003ccode\u003e540536c\u003c/code\u003e\u003c/a\u003e fix(http): add CSP nonce support to JsonpClientBackend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8102331f82c808ca2256ba51a1d83803a61beabb\"\u003e\u003ccode\u003e8102331\u003c/code\u003e\u003c/a\u003e test(http): disable XSRF and mock location in HttpClient tests to avoid Domin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/13f050d2204285173273ebbfe9b34bc1b3c63c80\"\u003e\u003ccode\u003e13f050d\u003c/code\u003e\u003c/a\u003e test: construct local \u003ccode\u003eDate\u003c/code\u003e objects to fix timezone flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d0cf2995a2b63eb13fe574770ee8a756277852a4\"\u003e\u003ccode\u003ed0cf299\u003c/code\u003e\u003c/a\u003e test: remove unsupported timezone from \u003ccode\u003eformatDate\u003c/code\u003e tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b4ab6ba2e84a18309b0bb5dd68311ff1776b1cb4\"\u003e\u003ccode\u003eb4ab6ba\u003c/code\u003e\u003c/a\u003e fix(common): avoid redundant image fetch on destroy with auto sizes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003ccode\u003e4f5d8a2\u003c/code\u003e\u003c/a\u003e fix(compiler): let declaration span not including end character\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a4f312060cdf745e4fb0b15eda24ee2b4df0440c\"\u003e\u003ccode\u003ea4f3120\u003c/code\u003e\u003c/a\u003e refactor(compiler): require a reference in DirectiveMeta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/de533fe49181ee7409fd0b0ae4c0391a1e220ee6\"\u003e\u003ccode\u003ede533fe\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): move ClassPropertyMapping into compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ea1e34c4ddf404cde8d5c4ba0ba762bb0b9edbf8\"\u003e\u003ccode\u003eea1e34c\u003c/code\u003e\u003c/a\u003e refactor(compiler): move matchSource into base metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e40d378f3e3e7e57a45c8fbd9565ee06a3a6a13f\"\u003e\u003ccode\u003ee40d378\u003c/code\u003e\u003c/a\u003e fix(compiler): handle nested brackets in host object bindings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d04ddd73dfc03f420afbdde964c5119f338af135\"\u003e\u003ccode\u003ed04ddd7\u003c/code\u003e\u003c/a\u003e fix(core): prevent binding unsafe attributes on SVG animation elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/67797\"\u003e#67797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003ccode\u003e9e38ed7\u003c/code\u003e\u003c/a\u003e fix(core): sanitizer typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003ccode\u003e3430251\u003c/code\u003e\u003c/a\u003e fix(core): i18n flags leaking on errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a7b9ff5a58b932486dfe5d43012739a7bc16f75b\"\u003e\u003ccode\u003ea7b9ff5\u003c/code\u003e\u003c/a\u003e docs: document FormBuilder.group() controlsConfig value shapes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003ccode\u003e03ad538\u003c/code\u003e\u003c/a\u003e fix(forms): prohibit concurrent submits in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ce7a43a5b66bfebcf72aa60707bb1c9604221a35\"\u003e\u003ccode\u003ece7a43a\u003c/code\u003e\u003c/a\u003e refactor(forms): improve clarity in SelectMultipleControlValueAccessor.writeV...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/600da64ba4df4b73ee00ab1b13f490a7de436ff6\"\u003e\u003ccode\u003e600da64\u003c/code\u003e\u003c/a\u003e docs(forms): add NG01902 error reference and link to docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9581469fe552faf45984362508d7e05adb5930\"\u003e\u003ccode\u003edc95814\u003c/code\u003e\u003c/a\u003e docs: add documentation for NG1002\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b0dc2fbfcb909c558c7dcff89c2fe47c89878991\"\u003e\u003ccode\u003eb0dc2fb\u003c/code\u003e\u003c/a\u003e docs(forms): clarify disabled FormArray value behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/895c576d494111f819e8a790d3a0695b6b9f8b4b\"\u003e\u003ccode\u003e895c576\u003c/code\u003e\u003c/a\u003e refactor(forms): use strict equality for pending status getter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b658accf1f99a240de19090350bd6d3a9620735a\"\u003e\u003ccode\u003eb658acc\u003c/code\u003e\u003c/a\u003e docs: fix js doc of signal forms ignoreValidators option.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.5 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/nacefmoula/interviewprep-tn/pull/66","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nacefmoula%2Finterviewprep-tn/issues/66","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/66/packages"}},{"old_version":"21.1.2","new_version":"21.2.14","update_type":"minor","path":null,"pr_created_at":"2026-05-22T03:16:54.000Z","version_change":"21.1.2 → 21.2.14","issue":{"uuid":"4499533822","node_id":"PR_kwDORqdfXc7eMAG-","number":16,"state":"open","title":"chore(deps): bump the npm-dependencies group across 1 directory with 35 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:16:54.000Z","updated_at":"2026-05-22T03:19:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":35,"packages":[{"name":"@angular/animations","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.1.2","new_version":"21.2.12","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@iharbeck/ngx-virtual-scroller","old_version":"19.0.1","new_version":"20.0.0","repository_url":"https://github.com/iharbeck/ngx-virtual-scroller"},{"name":"@stomp/rx-stomp","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/stomp-js/rx-stomp"},{"name":"@stomp/stompjs","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/stomp-js/stompjs"},{"name":"chartjs-chart-matrix","old_version":"3.0.0","new_version":"3.0.4","repository_url":"https://github.com/kurkle/chartjs-chart-matrix"},{"name":"date-fns","old_version":"4.1.0","new_version":"4.2.1","repository_url":"https://github.com/date-fns/date-fns"},{"name":"ng2-charts","old_version":"8.0.0","new_version":"10.0.0","repository_url":"https://github.com/valor-software/ng2-charts"},{"name":"ngx-extended-pdf-viewer","old_version":"25.6.4","new_version":"27.0.0","repository_url":"https://github.com/stephanrauh/ngx-extended-pdf-viewer"},{"name":"ngx-sse-client","old_version":"20.0.1","new_version":"21.0.0","repository_url":"https://github.com/marcospds/ngx-sse-client"},{"name":"primeng","old_version":"21.1.1","new_version":"21.1.8","repository_url":"https://github.com/primefaces/primeng"},{"name":"uuid","old_version":"13.0.0","new_version":"14.0.0","repository_url":"https://github.com/uuidjs/uuid"},{"name":"ws","old_version":"8.19.0","new_version":"8.20.1","repository_url":"https://github.com/websockets/ws"},{"name":"zone.js","old_version":"0.16.0","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@analogjs/vite-plugin-angular","old_version":"2.2.3","new_version":"2.5.2","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/vitest-angular","old_version":"2.2.3","new_version":"2.5.2","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular/build","old_version":"21.1.2","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.1.2","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.1.2","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@types/node","old_version":"25.1.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"angular-eslint","old_version":"21.2.0","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"eslint","old_version":"9.39.2","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jsdom","old_version":"27.4.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.54.0","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 34 updates in the /booklore-ui directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.1.2` | `21.2.14` |\n| [@angular/cdk](https://github.com/angular/components) | `21.1.2` | `21.2.12` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.1.2` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.1.2` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.1.2` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.1.2` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.1.2` | `21.2.14` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.1.2` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.1.2` | `21.2.14` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.1.2` | `21.2.14` |\n| [@iharbeck/ngx-virtual-scroller](https://github.com/iharbeck/ngx-virtual-scroller) | `19.0.1` | `20.0.0` |\n| [@stomp/rx-stomp](https://github.com/stomp-js/rx-stomp) | `2.3.0` | `2.4.0` |\n| [@stomp/stompjs](https://github.com/stomp-js/stompjs) | `7.2.1` | `7.3.0` |\n| [chartjs-chart-matrix](https://github.com/kurkle/chartjs-chart-matrix) | `3.0.0` | `3.0.4` |\n| [date-fns](https://github.com/date-fns/date-fns) | `4.1.0` | `4.2.1` |\n| [ng2-charts](https://github.com/valor-software/ng2-charts) | `8.0.0` | `10.0.0` |\n| [ngx-extended-pdf-viewer](https://github.com/stephanrauh/ngx-extended-pdf-viewer) | `25.6.4` | `27.0.0` |\n| [ngx-sse-client](https://github.com/marcospds/ngx-sse-client) | `20.0.1` | `21.0.0` |\n| [primeng](https://github.com/primefaces/primeng/tree/HEAD/packages/primeng) | `21.1.1` | `21.1.8` |\n| [uuid](https://github.com/uuidjs/uuid) | `13.0.0` | `14.0.0` |\n| [ws](https://github.com/websockets/ws) | `8.19.0` | `8.20.1` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.16.0` | `0.16.2` |\n| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) | `2.2.3` | `2.5.2` |\n| [@analogjs/vitest-angular](https://github.com/analogjs/analog) | `2.2.3` | `2.5.2` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.1.2` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.1.2` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.1.2` | `21.2.14` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.1.0` | `25.9.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.7` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.2.0` | `21.4.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.4.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `27.4.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.54.0` | `8.59.4` |\n\n\nUpdates `@angular/animations` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7907e982ee90778e596d3e849f0a31c6c26db235\"\u003e\u003ccode\u003e7907e98\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.1.2 to 21.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003e\u003cimg src=\"https://img.shields.io/badge/da87be7646-fix-green\" alt=\"fix - da87be7646\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/issues/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003cimg src=\"https://img.shields.io/badge/48973661e-fix-green\" alt=\"fix - 48973661e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.9\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/51271c6194a9b55ee847c566a8960c9be5ec7cce\"\u003e\u003cimg src=\"https://img.shields.io/badge/51271c619-fix-green\" alt=\"fix - 51271c619\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow stepper to be labelled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33137\"\u003e#33137\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/3a3852d45a4bbcfb23b46ca00e0eba1d70081ba3\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a3852d45-fix-green\" alt=\"fix - 3a3852d45\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e enter/space key on child node should not toggle parent node expansion (\u003ca href=\"https://redirect.github.com/angular/components/issues/33125\"\u003e#33125\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bf14cc9d9fd349974cba853d4747b6859b3aae5b\"\u003e\u003cimg src=\"https://img.shields.io/badge/bf14cc9d9-fix-green\" alt=\"fix - bf14cc9d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e use computed for menu item patterns, with trigger on visible (\u003ca href=\"https://redirect.github.com/angular/components/issues/33118\"\u003e#33118\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.8\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/5954c4594c6df87908bc7849214a29f6897b213e\"\u003e\u003cimg src=\"https://img.shields.io/badge/5954c4594c-fix-green\" alt=\"fix - 5954c4594c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e deprecate MatSortHeaderIntl and hide from docs (\u003ca href=\"https://redirect.github.com/angular/components/issues/33089\"\u003e#33089\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/5b4bbe9c4f8c902d6923b139e7a925822c899bc1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b4bbe9c4f-fix-green\" alt=\"fix - 5b4bbe9c4f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eselect:\u003c/strong\u003e wrong transform origin when opening upwards inside another overlay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33032\"\u003e#33032\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/895908a12dd81d889f95961da59e80823faf8889\"\u003e\u003cimg src=\"https://img.shields.io/badge/895908a12-fix-green\" alt=\"fix - 895908a12\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e not resetting margin if transition does not start (\u003ca href=\"https://redirect.github.com/angular/components/issues/33001\"\u003e#33001\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/475a8aabb30044c4cdca1bdb0b1de832db6e5936\"\u003e\u003cimg src=\"https://img.shields.io/badge/475a8aabb-fix-green\" alt=\"fix - 475a8aabb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslider:\u003c/strong\u003e not picking up static direction (\u003ca href=\"https://redirect.github.com/angular/components/issues/33006\"\u003e#33006\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.12 \u0026quot;plastic-moose\u0026quot; (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003eda87be7646\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/pull/33281\"\u003e#33281\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 \u0026quot;crystal lotion\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c3161985279bf49f9aae55b732fdd3b2872e1f7e\"\u003ec316198527\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e mark content as inert while open\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c2f1c5b035795079b155b9e60a290abe4d4c9537\"\u003ec2f1c5b035\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e query not resolving\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emultiple\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/84f2afd24933c8742662ee6d12a6f3f98f5dea9e\"\u003e84f2afd249\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove developer preview tag from aria (\u003ca href=\"https://redirect.github.com/angular/components/pull/33232\"\u003e#33232\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e43b7aacd86fb00e34e894d9093a8255e4201ec8\"\u003e\u003ccode\u003ee43b7aa\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/da87be76464d76ec11ae922abd5f4c72c5b4ea3e\"\u003e\u003ccode\u003eda87be7\u003c/code\u003e\u003c/a\u003e fix(material/datepicker): ensure dates don't overflow on a small screen (\u003ca href=\"https://redirect.github.com/angular/components/issues/33281\"\u003e#33281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e101874701ed790345f2af292cee81fff573a46e\"\u003e\u003ccode\u003ee101874\u003c/code\u003e\u003c/a\u003e docs(material/tooltip): fix tooltip-position-at-origin example overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33218\"\u003e#33218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/583da8a564dcb667cb8928e79d286eadee0a5013\"\u003e\u003ccode\u003e583da8a\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.10 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/babfbb7430547d5f4558174aec1a07ce6c67a26f\"\u003e\u003ccode\u003ebabfbb7\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33205\"\u003e#33205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e08fdf2a6a120078b512043bf5804bc3c7f9716a\"\u003e\u003ccode\u003ee08fdf2\u003c/code\u003e\u003c/a\u003e build: fix failing test (\u003ca href=\"https://redirect.github.com/angular/components/issues/33212\"\u003e#33212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/09e89fa188f157c0892019a461459cd9a252a673\"\u003e\u003ccode\u003e09e89fa\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33201\"\u003e#33201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003ccode\u003e4897366\u003c/code\u003e\u003c/a\u003e fix(aria/menu): do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/a6c5b72562b9d46ea3c10a2ecb668e013b46a103\"\u003e\u003ccode\u003ea6c5b72\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33181\"\u003e#33181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.1.2...v21.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/30cf85f71c52683016200ecf6d68b4418084ee6e\"\u003e\u003ccode\u003e30cf85f\u003c/code\u003e\u003c/a\u003e refactor(common): update deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/42d57c35781fb65fc4d44df59b6a85287664216a\"\u003e\u003ccode\u003e42d57c3\u003c/code\u003e\u003c/a\u003e refactor(common): fix viewport tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003ccode\u003e10ad3c0\u003c/code\u003e\u003c/a\u003e fix(common): prevent focus from scrollToAnchor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/540536c386f2c735a700c2c9e2697a88dcb3d4ec\"\u003e\u003ccode\u003e540536c\u003c/code\u003e\u003c/a\u003e fix(http): add CSP nonce support to JsonpClientBackend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8102331f82c808ca2256ba51a1d83803a61beabb\"\u003e\u003ccode\u003e8102331\u003c/code\u003e\u003c/a\u003e test(http): disable XSRF and mock location in HttpClient tests to avoid Domin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/13f050d2204285173273ebbfe9b34bc1b3c63c80\"\u003e\u003ccode\u003e13f050d\u003c/code\u003e\u003c/a\u003e test: construct local \u003ccode\u003eDate\u003c/code\u003e objects to fix timezone flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d0cf2995a2b63eb13fe574770ee8a756277852a4\"\u003e\u003ccode\u003ed0cf299\u003c/code\u003e\u003c/a\u003e test: remove unsupported timezone from \u003ccode\u003eformatDate\u003c/code\u003e tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b4ab6ba2e84a18309b0bb5dd68311ff1776b1cb4\"\u003e\u003ccode\u003eb4ab6ba\u003c/code\u003e\u003c/a\u003e fix(common): avoid redundant image fetch on destroy with auto sizes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/adda6c5c106815c727c1b820634614a045b42e9a\"\u003e\u003ccode\u003eadda6c5\u003c/code\u003e\u003c/a\u003e build: update \u003ccode\u003easpect_rules_js\u003c/code\u003e to \u003ccode\u003e3.0.2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/93c6dc6395d681dacd1dbbc46b95773038b6c32f\"\u003e\u003ccode\u003e93c6dc6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;refactor(http): Improves base64 encoding/decoding with feature detect...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003ccode\u003e4f5d8a2\u003c/code\u003e\u003c/a\u003e fix(compiler): let declaration span not including end character\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a4f312060cdf745e4fb0b15eda24ee2b4df0440c\"\u003e\u003ccode\u003ea4f3120\u003c/code\u003e\u003c/a\u003e refactor(compiler): require a reference in DirectiveMeta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/de533fe49181ee7409fd0b0ae4c0391a1e220ee6\"\u003e\u003ccode\u003ede533fe\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): move ClassPropertyMapping into compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ea1e34c4ddf404cde8d5c4ba0ba762bb0b9edbf8\"\u003e\u003ccode\u003eea1e34c\u003c/code\u003e\u003c/a\u003e refactor(compiler): move matchSource into base metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e40d378f3e3e7e57a45c8fbd9565ee06a3a6a13f\"\u003e\u003ccode\u003ee40d378\u003c/code\u003e\u003c/a\u003e fix(compiler): handle nested brackets in host object bindings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d04ddd73dfc03f420afbdde964c5119f338af135\"\u003e\u003ccode\u003ed04ddd7\u003c/code\u003e\u003c/a\u003e fix(core): prevent binding unsafe attributes on SVG animation elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/67797\"\u003e#67797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003ccode\u003e9e38ed7\u003c/code\u003e\u003c/a\u003e fix(core): sanitizer typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003ccode\u003e3430251\u003c/code\u003e\u003c/a\u003e fix(core): i18n flags leaking on errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.1.2 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/an...\n\n_Description has been truncated_","html_url":"https://github.com/BlindMint/booklore/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlindMint%2Fbooklore/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"21.2.9","new_version":"21.2.14","update_type":"patch","path":null,"pr_created_at":"2026-05-21T14:36:46.000Z","version_change":"21.2.9 → 21.2.14","issue":{"uuid":"4495424617","node_id":"PR_kwDOGe8x_M7d-orz","number":1294,"state":"closed","title":"build(deps): bump the production-dependencies group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T05:59:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-21T14:36:46.000Z","updated_at":"2026-05-24T05:59:40.000Z","time_to_close":228172,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"production-dependencies","update_count":31,"packages":[{"name":"@ai-sdk/openai","old_version":"3.0.53","new_version":"3.0.64","repository_url":"https://github.com/vercel/ai"},{"name":"@ai-sdk/openai-compatible","old_version":"2.0.41","new_version":"2.0.47","repository_url":"https://github.com/vercel/ai"},{"name":"@nestjs/cache-manager","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/nestjs/cache-manager"},{"name":"@nestjs/common","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/core","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-express","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-socket.io","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/websockets","old_version":"11.1.19","new_version":"11.1.22","repository_url":"https://github.com/nestjs/nest"},{"name":"ai","old_version":"6.0.168","new_version":"6.0.188","repository_url":"https://github.com/vercel/ai"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"valibot","old_version":"1.3.1","new_version":"1.4.0","repository_url":"https://github.com/open-circle/valibot"},{"name":"ws","old_version":"8.20.0","new_version":"8.20.1","repository_url":"https://github.com/websockets/ws"},{"name":"@angular-devkit/build-angular","old_version":"21.2.7","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/animations","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.7","new_version":"21.2.12","repository_url":"https://github.com/angular/components"},{"name":"@angular/cli","old_version":"21.2.7","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/common","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.7","new_version":"21.2.12","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.9","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"dompurify","old_version":"3.4.0","new_version":"3.4.5","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"zone.js","old_version":"0.16.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@nx/nx-darwin-arm64","old_version":"22.6.5","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/nx-darwin-x64","old_version":"22.6.5","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/nx-linux-x64-gnu","old_version":"22.6.5","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/nx-win32-x64-msvc","old_version":"22.6.5","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-dependencies group with 31 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@ai-sdk/openai](https://github.com/vercel/ai/tree/HEAD/packages/openai) | `3.0.53` | `3.0.64` |\n| [@ai-sdk/openai-compatible](https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible) | `2.0.41` | `2.0.47` |\n| [@nestjs/cache-manager](https://github.com/nestjs/cache-manager) | `3.1.0` | `3.1.2` |\n| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) | `11.1.19` | `11.1.22` |\n| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core) | `11.1.19` | `11.1.22` |\n| [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express) | `11.1.19` | `11.1.22` |\n| [@nestjs/platform-socket.io](https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io) | `11.1.19` | `11.1.22` |\n| [@nestjs/websockets](https://github.com/nestjs/nest/tree/HEAD/packages/websockets) | `11.1.19` | `11.1.22` |\n| [ai](https://github.com/vercel/ai/tree/HEAD/packages/ai) | `6.0.168` | `6.0.188` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [valibot](https://github.com/open-circle/valibot) | `1.3.1` | `1.4.0` |\n| [ws](https://github.com/websockets/ws) | `8.20.0` | `8.20.1` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `21.2.7` | `21.2.12` |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.9` | `21.2.14` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.7` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.7` | `21.2.12` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.9` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.9` | `21.2.14` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.9` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.9` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.9` | `21.2.14` |\n| [@angular/material](https://github.com/angular/components) | `21.2.7` | `21.2.12` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.9` | `21.2.14` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.9` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.9` | `21.2.14` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.0` | `3.4.5` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.16.1` | `0.16.2` |\n| [@nx/nx-darwin-arm64](https://github.com/nrwl/nx/tree/HEAD/packages/nx/native-packages/darwin-arm64) | `22.6.5` | `22.7.2` |\n| [@nx/nx-darwin-x64](https://github.com/nrwl/nx/tree/HEAD/packages/nx/native-packages/darwin-x64) | `22.6.5` | `22.7.2` |\n| [@nx/nx-linux-x64-gnu](https://github.com/nrwl/nx/tree/HEAD/packages/nx/native-packages/linux-x64-gnu) | `22.6.5` | `22.7.2` |\n| [@nx/nx-win32-x64-msvc](https://github.com/nrwl/nx/tree/HEAD/packages/nx/native-packages/win32-x64-msvc) | `22.6.5` | `22.7.2` |\n\n\nUpdates `@ai-sdk/openai` from 3.0.53 to 3.0.64\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/blob/@ai-sdk/openai@3.0.64/packages/openai/CHANGELOG.md\"\u003e@​ai-sdk/openai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.64\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb7ed8bd: feat(openai): add opt-in pass-through for unsupported file media types\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.63\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [f591416]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.27\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.62\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e65edcca: feat: add allowedTools provider option for OpenAI Responses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.61\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb93f9b4: feat(provider/openai): forward imageDetail providerOptions on tool-result image content\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.60\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6dcd8e6: feat(openai): add GPT-5.5 chat model IDs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.59\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e38966ab: fix(openai, openai-compatible): only send null content for assistant messages with tool calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.58\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e2370948: feat(openai): preserve \u003ccode\u003enamespace\u003c/code\u003e on function_call output items\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.57\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed33e7cc: chore(provider/openai): add type for image model options for type-safe processing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.56\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/2e7664bff4294f2f5b21c30136ca24d12c4e9b5c\"\u003e\u003ccode\u003e2e7664b\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15315\"\u003e#15315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/b7ed8bdac18d2e71b4c392f08c8d8f03204ca8f4\"\u003e\u003ccode\u003eb7ed8bd\u003c/code\u003e\u003c/a\u003e Backport: feat(openai): add opt-in pass-through for unsupported file media ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/e3ccdb5987c07459ffd9be56088c5ac9d142fba2\"\u003e\u003ccode\u003ee3ccdb5\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15094\"\u003e#15094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/bf9de314a7e747019d73dedad7c840da25cc94d5\"\u003e\u003ccode\u003ebf9de31\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15046\"\u003e#15046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/65edcca7edb360ea6c3fa703ff5662c893e9ec0b\"\u003e\u003ccode\u003e65edcca\u003c/code\u003e\u003c/a\u003e Backport: feat(openai): add allowedTools provider option for Responses (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/ee37690cc8bcf97710ba391dde4fdfca3c1e1405\"\u003e\u003ccode\u003eee37690\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/15020\"\u003e#15020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/b93f9b4f806c59fce982c42d4dfa7d19f4a1f928\"\u003e\u003ccode\u003eb93f9b4\u003c/code\u003e\u003c/a\u003e Backport: feat(provider/openai): forward imageDetail providerOptions on tool-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/c7061114178e8bf86cc9ac604ebbbe0e7866c7eb\"\u003e\u003ccode\u003ec706111\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/14971\"\u003e#14971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/6dcd8e6f602a0b14c8bb79d11b847d05b60e67d3\"\u003e\u003ccode\u003e6dcd8e6\u003c/code\u003e\u003c/a\u003e Backport: feat(openai): add GPT-5.5 chat model IDs (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/14965\"\u003e#14965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a1dddcc5b39a03168e7a8fd7516fdc47798d67b3\"\u003e\u003ccode\u003ea1dddcc\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai/issues/14954\"\u003e#14954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/ai/commits/@ai-sdk/openai@3.0.64/packages/openai\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​ai-sdk/openai\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@ai-sdk/openai-compatible` from 2.0.41 to 2.0.47\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/blob/@ai-sdk/openai-compatible@2.0.47/packages/openai-compatible/CHANGELOG.md\"\u003e@​ai-sdk/openai-compatible's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.47\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [f591416]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.27\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.46\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e38966ab: fix(openai, openai-compatible): only send null content for assistant messages with tool calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.45\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6043d24: feat(vertex): add grok models to vertex provider\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.44\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [7beadf0]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.26\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.43\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ea727da4: chore: ensure consistent import handling and avoid import duplicates or cycles\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [a727da4]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.25\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.42\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ea7f3c72: trigger release for all packages after provenance setup\u003c/li\u003e\n\u003cli\u003e408a2ad: patch - send content: null instead of empty string for tool-only assistant messages\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [a7f3c72]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.24\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/e3ccdb5987c07459ffd9be56088c5ac9d142fba2\"\u003e\u003ccode\u003ee3ccdb5\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/15094\"\u003e#15094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a1dddcc5b39a03168e7a8fd7516fdc47798d67b3\"\u003e\u003ccode\u003ea1dddcc\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14954\"\u003e#14954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/38966ab2defffccb36c67e01c476f0fc64250f13\"\u003e\u003ccode\u003e38966ab\u003c/code\u003e\u003c/a\u003e backport v6: fix(openai, openai-compatible): only send null content for assis...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/3def72008c61665a9d1976312cf733676beaa258\"\u003e\u003ccode\u003e3def720\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14908\"\u003e#14908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/6043d24b78f54a88a96443e4fbe16b22dce0de9e\"\u003e\u003ccode\u003e6043d24\u003c/code\u003e\u003c/a\u003e Backport: feat(vertex): add grok models to vertex provider (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14902\"\u003e#14902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/8a46a3c1ba2c9d6df6b5dcf9d917b6ac486fe6a9\"\u003e\u003ccode\u003e8a46a3c\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14875\"\u003e#14875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/8e650ab809ac47de5d16f26bf544a9a73b0d39a3\"\u003e\u003ccode\u003e8e650ab\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14824\"\u003e#14824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a727da484534bbdbf88d53497ed383fee7f7ffa1\"\u003e\u003ccode\u003ea727da4\u003c/code\u003e\u003c/a\u003e backport of chore: ensure consistent import handling and avoid import duplica...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/77a4e053a1cf1540c2da9050ace9e035c8a3ad3a\"\u003e\u003ccode\u003e77a4e05\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14802\"\u003e#14802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a7f3c72d8245574c6b244e06c0ce6dad8b95c526\"\u003e\u003ccode\u003ea7f3c72\u003c/code\u003e\u003c/a\u003e Re-enable v6 releases (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/openai-compatible/issues/14799\"\u003e#14799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/ai/commits/@ai-sdk/openai-compatible@2.0.47/packages/openai-compatible\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​ai-sdk/openai-compatible\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/cache-manager` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/cache-manager/releases\"\u003e@​nestjs/cache-manager's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: fix trackby api breaking change (cab7694)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: allow cache-key factory to be async by \u003ca href=\"https://github.com/swieton\"\u003e\u003ccode\u003e@​swieton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/pull/1006\"\u003enestjs/cache-manager#1006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swieton\"\u003e\u003ccode\u003e@​swieton\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/pull/1006\"\u003enestjs/cache-manager#1006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nestjs/cache-manager/compare/3.1.0...3.1.1\"\u003ehttps://github.com/nestjs/cache-manager/compare/3.1.0...3.1.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/b6defea5ac3dac72452617389c402a5af7529698\"\u003e\u003ccode\u003eb6defea\u003c/code\u003e\u003c/a\u003e chore(): release v3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/cab769458bbb40387bbb17aa944ab63c113a784e\"\u003e\u003ccode\u003ecab7694\u003c/code\u003e\u003c/a\u003e chore: fix trackby api breaking change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/6050fcd74bf08dce63644a4560f2ef00ad9fed77\"\u003e\u003ccode\u003e6050fcd\u003c/code\u003e\u003c/a\u003e chore(): release v3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/8e27fe44bc8b5f8b495844a7915e680ee6ad674c\"\u003e\u003ccode\u003e8e27fe4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1058\"\u003e#1058\u003c/a\u003e from nestjs/renovate/cimg-node-24.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/c4d6e90b26ffcfc2ff0e987c783a87e0d01aee1d\"\u003e\u003ccode\u003ec4d6e90\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1062\"\u003e#1062\u003c/a\u003e from nestjs/renovate/vite-8.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/755f08ff3962e3722100983bd4c7474471fbdb43\"\u003e\u003ccode\u003e755f08f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1006\"\u003e#1006\u003c/a\u003e from swieton/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/13206b7214674a2c38977ee40b76c3621964c127\"\u003e\u003ccode\u003e13206b7\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v8.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/d004e0b2285caf1a67a5c591f28924cfec7d0791\"\u003e\u003ccode\u003ed004e0b\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vitest to v4.1.5 (\u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/584a10b32fd9513f6f655b637f0e167ae15e96f5\"\u003e\u003ccode\u003e584a10b\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency oxlint to v1.61.0 (\u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/cache-manager/commit/147bc75c2d6f99d3544e0bc486199ac9bc2edcba\"\u003e\u003ccode\u003e147bc75\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v8.0.9 (\u003ca href=\"https://redirect.github.com/nestjs/cache-manager/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/cache-manager/compare/3.1.0...3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/common` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/4b6420b9a703f8608d86bcbff88d045511ce36d6\"\u003e\u003ccode\u003e4b6420b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/16902\"\u003e#16902\u003c/a\u003e from QusaiAlbonni/fix/filetype-validator-buffer-mes...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/33515ed0576ed47bf7c9fe1cba85cf5b9bfe52de\"\u003e\u003ccode\u003e33515ed\u003c/code\u003e\u003c/a\u003e fix(common): improve missing buffer error message in file type validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/9226a6f6134741976144b967585967f3823f755a\"\u003e\u003ccode\u003e9226a6f\u003c/code\u003e\u003c/a\u003e fix: Add missing validateEach for UsePipes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/1501bc0600fa88a9d0d5b03ec8105f00e582bb48\"\u003e\u003ccode\u003e1501bc0\u003c/code\u003e\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/core` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/260b8ece26ad772e112c955e9d97ae973b866b3c\"\u003e\u003ccode\u003e260b8ec\u003c/code\u003e\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/16989\"\u003e#16989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/16aceab9b21bf3e4b79e3b1f32a91e139e0e5250\"\u003e\u003ccode\u003e16aceab\u003c/code\u003e\u003c/a\u003e fix(core): include received value type in invalid-module error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/79919b1aa85fd5004f948c86ac447faae0da360b\"\u003e\u003ccode\u003e79919b1\u003c/code\u003e\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/d48f21d4a9c29340b20411c459c3d4cc340596da\"\u003e\u003ccode\u003ed48f21d\u003c/code\u003e\u003c/a\u003e fix(core): settle skipped provider initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/2e290c69c952e71a9fb8b6bef31e71d0307ce88b\"\u003e\u003ccode\u003e2e290c6\u003c/code\u003e\u003c/a\u003e fix(core): fix deeply nested transient providers resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/platform-express` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/platform-express's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-express/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/5e33ecfad88db4d9af659f38de56cd55c5c8ed10\"\u003e\u003ccode\u003e5e33ecf\u003c/code\u003e\u003c/a\u003e feat: add MulterOptions and MulterField interfaces for express platform confi...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/platform-express\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/platform-socket.io` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/platform-socket.io's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/993d8372f6c33ae3d2a45fe2014aa774ea762cb5\"\u003e\u003ccode\u003e993d837\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io/issues/16742\"\u003e#16742\u003c/a\u003e from fru1tworld/fix/deduplicate-disconnect-listener\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/ba0c543a61f0fc6be6fd76971dcbb84e415ea756\"\u003e\u003ccode\u003eba0c543\u003c/code\u003e\u003c/a\u003e fix(socket.io): add test tsconfig for eslint project service resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/3b47081e722016be7369b4ef3e43688cec30d832\"\u003e\u003ccode\u003e3b47081\u003c/code\u003e\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/platform-socket.io\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/websockets` from 11.1.19 to 11.1.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/websockets's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.1.22 (2026-05-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16993\"\u003e#16993\u003c/a\u003e fix(core): inflight request injection bug \u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/websockets/issues/16989\"\u003e#16989\u003c/a\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16967\"\u003e#16967\u003c/a\u003e fix(core): identify decorator type in invalid-class-module error (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHarrier (\u003ca href=\"https://github.com/HarrierOnChain\"\u003e\u003ccode\u003e@​HarrierOnChain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.21 (2026-05-14)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16948\"\u003e#16948\u003c/a\u003e fix(core): settle skipped provider initialization (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSerge Yudin (\u003ca href=\"https://github.com/yudin-s\"\u003e\u003ccode\u003e@​yudin-s\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.1.20 (2026-05-13)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16939\"\u003e#16939\u003c/a\u003e fix(core): fix deeply nested transient providers resolution (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16861\"\u003e#16861\u003c/a\u003e fix(core): fix \u003ca href=\"https://github.com/Sse\"\u003e\u003ccode\u003e@​Sse\u003c/code\u003e\u003c/a\u003e losing events on complete (\u003ca href=\"https://github.com/MatthiasBrehmer\"\u003e\u003ccode\u003e@​MatthiasBrehmer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16753\"\u003e#16753\u003c/a\u003e fix(core): defer sse writehead until after lifecycle completes (\u003ca href=\"https://github.com/jkalberer\"\u003e\u003ccode\u003e@​jkalberer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16782\"\u003e#16782\u003c/a\u003e fix(core): use strict null check for SSE message id (\u003ca href=\"https://github.com/burhanharoon\"\u003e\u003ccode\u003e@​burhanharoon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16850\"\u003e#16850\u003c/a\u003e fix(microservices): ServerRMQ crashes at boot when \u003ca href=\"https://github.com/MessagePattern\"\u003e\u003ccode\u003e@​MessagePattern\u003c/code\u003e\u003c/a\u003e(undefined) is combined with wildcards: true (\u003ca href=\"https://github.com/lavieennoir\"\u003e\u003ccode\u003e@​lavieennoir\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16845\"\u003e#16845\u003c/a\u003e fix(common): accept zero timestamp in parse date pipe (\u003ca href=\"https://github.com/Mysh3ll\"\u003e\u003ccode\u003e@​Mysh3ll\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-socket.io\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16742\"\u003e#16742\u003c/a\u003e fix(socket.io): Deduplicate disconnect listener in bindMessageHandlers (\u003ca href=\"https://github.com/fru1tworld\"\u003e\u003ccode\u003e@​fru1tworld\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16676\"\u003e#16676\u003c/a\u003e feat(microservices): add return buffers option for binary data (\u003ca href=\"https://github.com/Forceres\"\u003e\u003ccode\u003e@​Forceres\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16826\"\u003e#16826\u003c/a\u003e feat(microservices): handle rmq blocked/unblocked connection events (\u003ca href=\"https://github.com/thisalihassan\"\u003e\u003ccode\u003e@​thisalihassan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16902\"\u003e#16902\u003c/a\u003e fix(common): filetype validator buffer message (\u003ca href=\"https://github.com/QusaiAlbonni\"\u003e\u003ccode\u003e@​QusaiAlbonni\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-express\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/16844\"\u003e#16844\u003c/a\u003e feat(platform-express): add defParamCharset to MulterOptions (\u003ca href=\"https://github.com/starnayuta\"\u003e\u003ccode\u003e@​starnayuta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eplatform-ws\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/801c46ffa19d2a549adc446d1f91e7484ae61edb\"\u003e\u003ccode\u003e801c46f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.22 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/983dd52c4927753be3421162fc43e4fde8d3fcde\"\u003e\u003ccode\u003e983dd52\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.21 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/a0b01390c1c5034f3bd899c277e62860079db8c0\"\u003e\u003ccode\u003ea0b0139\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/7caeb3fb70de81085c4c3e8502a2a0e62e4f8eda\"\u003e\u003ccode\u003e7caeb3f\u003c/code\u003e\u003c/a\u003e chore(release): publish v11.1.20 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/f6a3c2f6701296df17068d5e9f5a849947e35633\"\u003e\u003ccode\u003ef6a3c2f\u003c/code\u003e\u003c/a\u003e fix(docs): update some old links in docs\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nestjs/nest/commits/v11.1.22/packages/websockets\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ai` from 6.0.168 to 6.0.188\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/releases\"\u003eai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eai@6.0.188\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ec98715a: Add \u003ccode\u003eallowSystemInMessages\u003c/code\u003e option to \u003ccode\u003eToolLoopAgent\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis exposes the same option that exists on \u003ccode\u003estreamText\u003c/code\u003e and \u003ccode\u003egenerateText\u003c/code\u003e, whether \u003ccode\u003erole: \u0026quot;system\u0026quot;\u003c/code\u003e messages are allowed in the \u003ccode\u003eprompt\u003c/code\u003e or \u003ccode\u003emessages\u003c/code\u003e fields. When unset, system messages are rejected because they can create a prompt injection attack risk. Ideally, use the \u003ccode\u003einstructions\u003c/code\u003e option instead. Set to \u003ccode\u003etrue\u003c/code\u003e to allow system messages, or \u003ccode\u003efalse\u003c/code\u003e to explicitly reject them.\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003econst agent = new ToolLoopAgent({\n  model,\n  allowSystemInMessages: true,\n});\n\u003cp\u003eawait agent.generate({\nmessages: [\n{ role: \u0026quot;system\u0026quot;, content: \u0026quot;Server context\u0026quot; },\n{ role: \u0026quot;user\u0026quot;, content: \u0026quot;Hello\u0026quot; },\n],\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe option can also be returned from \u003ccode\u003eprepareCall\u003c/code\u003e for dynamic per-call configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eai@6.0.187\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [6f4bb06]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.118\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/blob/ai@6.0.188/packages/ai/CHANGELOG.md\"\u003eai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.188\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ec98715a: Add \u003ccode\u003eallowSystemInMessages\u003c/code\u003e option to \u003ccode\u003eToolLoopAgent\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis exposes the same option that exists on \u003ccode\u003estreamText\u003c/code\u003e and \u003ccode\u003egenerateText\u003c/code\u003e, whether \u003ccode\u003erole: \u0026quot;system\u0026quot;\u003c/code\u003e messages are allowed in the \u003ccode\u003eprompt\u003c/code\u003e or \u003ccode\u003emessages\u003c/code\u003e fields. When unset, system messages are rejected because they can create a prompt injection attack risk. Ideally, use the \u003ccode\u003einstructions\u003c/code\u003e option instead. Set to \u003ccode\u003etrue\u003c/code\u003e to allow system messages, or \u003ccode\u003efalse\u003c/code\u003e to explicitly reject them.\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003econst agent = new ToolLoopAgent({\n  model,\n  allowSystemInMessages: true,\n});\n\u003cp\u003eawait agent.generate({\nmessages: [\n{ role: \u0026quot;system\u0026quot;, content: \u0026quot;Server context\u0026quot; },\n{ role: \u0026quot;user\u0026quot;, content: \u0026quot;Hello\u0026quot; },\n],\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe option can also be returned from \u003ccode\u003eprepareCall\u003c/code\u003e for dynamic per-call configuration.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.187\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [6f4bb06]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.118\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.186\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [756fec1]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.117\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.185\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [488ef33]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.116\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.184\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e40fc5e4: fix(ai): default missing embedding warnings to an empty array\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/93ad540ed13863363ebc0bd5a9c574a082602d27\"\u003e\u003ccode\u003e93ad540\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/c98715ae5ecf19a18a7c31fa2ec30124e456188b\"\u003e\u003ccode\u003ec98715a\u003c/code\u003e\u003c/a\u003e Backport: [tool-loop-agent] adding support for messages with system role with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/a15eda90f03049bfba99183b4fd308ca63372b86\"\u003e\u003ccode\u003ea15eda9\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15473\"\u003e#15473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/917e487d1f8d29554b30d56b17e846e9c233c0c5\"\u003e\u003ccode\u003e917e487\u003c/code\u003e\u003c/a\u003e Backport CI speed improvements to release-v6.0 (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15455\"\u003e#15455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/e33b836af7673d45eb90704574ffae5bdc6ba824\"\u003e\u003ccode\u003ee33b836\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15440\"\u003e#15440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/4a989451c5ef8c1b04d8a91e4e9301dc81708cfa\"\u003e\u003ccode\u003e4a98945\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15406\"\u003e#15406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/f8d30032da41bdfd1d4c560bb6439dec8021603e\"\u003e\u003ccode\u003ef8d3003\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15356\"\u003e#15356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/40fc5e40f39b991befd084d48e70084de90ab78f\"\u003e\u003ccode\u003e40fc5e4\u003c/code\u003e\u003c/a\u003e Backport: fix(ai): default missing embedding warnings (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15354\"\u003e#15354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/2e7664bff4294f2f5b21c30136ca24d12c4e9b5c\"\u003e\u003ccode\u003e2e7664b\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15315\"\u003e#15315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/7baadcc49f0a447e2d55c9fe7d4684d19020772a\"\u003e\u003ccode\u003e7baadcc\u003c/code\u003e\u003c/a\u003e chore: diverge test assertions based on node version (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/15326\"\u003e#15326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/ai/commits/ai@6.0.188/packages/ai\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for ai since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `valibot` from 1.3.1 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-circle/valibot/releases\"\u003evalibot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/ksaurav24\"\u003e\u003ccode\u003e@​ksaurav24\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/heiwen\"\u003e\u003ccode\u003e@​heiwen\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/compulim\"\u003e\u003ccode\u003e@​compulim\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ysknsid25\"\u003e\u003ccode\u003e@​ysknsid25\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/alaycock-stripe\"\u003e\u003ccode\u003e@​alaycock-stripe\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/IlyaSemenov\"\u003e\u003ccode\u003e@​IlyaSemenov\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/wszgrcy\"\u003e\u003ccode\u003e@​wszgrcy\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/LMGO\"\u003e\u003ccode\u003e@​LMGO\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/yslpn\"\u003e\u003ccode\u003e@​yslpn\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/EltonLobo07\"\u003e\u003ccode\u003e@​EltonLobo07\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Eronmmer\"\u003e\u003ccode\u003e@​Eronmmer\u003c/code\u003e\u003c/a\u003e for contributing to this release.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eRead the \u003ca href=\"https://valibot.dev/blog/valibot-v1.4-release-notes/\"\u003erelease notes\u003c/a\u003e on our website for a quick overview of the most exciting new features in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eisoDateTimeSecond\u003c/code\u003e validation action to validate ISO date times with seconds (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoCamelCase\u003c/code\u003e, \u003ccode\u003etoKebabCase\u003c/code\u003e, \u003ccode\u003etoPascalCase\u003c/code\u003e and \u003ccode\u003etoSnakeCase\u003c/code\u003e transformation actions to convert strings between common naming conventions (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1457\"\u003e#1457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange internal \u003ccode\u003eReadonlyOutputKeys\u003c/code\u003e and \u003ccode\u003eOutputWithReadonly\u003c/code\u003e types of \u003ccode\u003eobject\u003c/code\u003e schemas and \u003ccode\u003eWithReadonly\u003c/code\u003e type of \u003ccode\u003erecord\u003c/code\u003e schemas to improve TypeScript type performance (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange hot paths to reduce object allocations and improve runtime performance (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1437\"\u003e#1437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange build target to ES2020 so distributed output stays compatible with environments that lack support for newer syntax (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange internal \u003ccode\u003e_LruCache\u003c/code\u003e to use a TypeScript \u003ccode\u003eprivate\u003c/code\u003e method instead of a \u003ccode\u003e#private\u003c/code\u003e class field to avoid runtime helpers in the transpiled output (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange internal \u003ccode\u003e_isValidObjectKey\u003c/code\u003e to use \u003ccode\u003eObject.prototype.hasOwnProperty.call\u003c/code\u003e instead of \u003ccode\u003eObject.hasOwn\u003c/code\u003e so the distributed output stays compatible with runtimes that lack the ES2022 \u003ccode\u003eObject.hasOwn\u003c/code\u003e builtin (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1421\"\u003e#1421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eflatten\u003c/code\u003e method to accept readonly issue arrays (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1269\"\u003e#1269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix potential \u003ccode\u003eRangeError\u003c/code\u003e caused by spreading large issue arrays (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1437\"\u003e#1437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ecreditCard\u003c/code\u003e validation action to reject Mastercard numbers with invalid lengths (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eintersect\u003c/code\u003e schema to no longer mutate input values, allowing frozen objects and arrays to be merged (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.4.0 (to-json-schema)\u003c/h2\u003e\n\u003cp\u003eMany thanks to \u003ca href=\"https://github.com/stefanprobst\"\u003e\u003ccode\u003e@​stefanprobst\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sruenwg\"\u003e\u003ccode\u003e@​sruenwg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/cruzdanilo\"\u003e\u003ccode\u003e@​cruzdanilo\u003c/code\u003e\u003c/a\u003e for contributing to this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eexamples\u003c/code\u003e action\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003einteger\u003c/code\u003e when used with \u003ccode\u003eminValue\u003c/code\u003e and \u003ccode\u003emaxValue\u003c/code\u003e actions (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1367\"\u003e#1367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange Valibot peer dependency to v1.2.0\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003eexactOptional\u003c/code\u003e object properties (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix conversion of \u003ccode\u003evariant\u003c/code\u003e to use \u003ccode\u003eoneOf\u003c/code\u003e instead of \u003ccode\u003eanyOf\u003c/code\u003e (pull request \u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1193\"\u003e#1193\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/52280c5223710ec27ab01094c0bb18857812aab7\"\u003e\u003ccode\u003e52280c5\u003c/code\u003e\u003c/a\u003e Bump version to 1.4.0 and update changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/482ad9e9ebd76fb7e6a43bc16ae14822be509be2\"\u003e\u003ccode\u003e482ad9e\u003c/code\u003e\u003c/a\u003e Update description on rfcEmail (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/7b5db7b9cacdadb83afe17e7666445542986ca99\"\u003e\u003ccode\u003e7b5db7b\u003c/code\u003e\u003c/a\u003e Adds example for optional (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1321\"\u003e#1321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/d66a0fe2a01eb10cc25b9363bc327e90357cd8d4\"\u003e\u003ccode\u003ed66a0fe\u003c/code\u003e\u003c/a\u003e Rewrite introduction guide from first-person to third-person perspective (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1388\"\u003e#1388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/2f5213b679171ddb6a8f81d57440f1a363ca0077\"\u003e\u003ccode\u003e2f5213b\u003c/code\u003e\u003c/a\u003e Accept readonly issues in flatten (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1269\"\u003e#1269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/0bfe812d533f3e9b49e66db5004933292588d85e\"\u003e\u003ccode\u003e0bfe812\u003c/code\u003e\u003c/a\u003e Add link to the config method for granular control over each pipeline in webs...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/b16fdf9ba6d84fffc3b71fdbac554126258f9a4a\"\u003e\u003ccode\u003eb16fdf9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eintersect\u003c/code\u003e with frozen objects (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/17cd7ed5b8851ff5006dcf85bf9fa6c53da3cb72\"\u003e\u003ccode\u003e17cd7ed\u003c/code\u003e\u003c/a\u003e fix: prefer hasOwnProperty over hasOwn (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1421\"\u003e#1421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/7d0790cd8f22d7e4d443662724024b3db3ccd945\"\u003e\u003ccode\u003e7d0790c\u003c/code\u003e\u003c/a\u003e feat(i18n): add Uzbek (Latin) locale (\u003ca href=\"https://redirect.github.com/open-circle/valibot/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-circle/valibot/commit/a41dabd43c165d1910cefd038941266a92baa300\"\u003e\u003ccode\u003ea41dabd\u003c/code\u003e\u003c/a\u003e feat: add built-in string case transformation actions (\u003ccode\u003etoCamelCase\u003c/code\u003e, `toSnak...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-circle/valibot/compare/v1.3.1...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ws` from 8.20.0 to 8.20.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/websockets/ws/releases\"\u003ews's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.20.1\u003c/h2\u003e\n\u003ch1\u003eBug fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an uninitialized memory disclosure issue in \u003ccode\u003ewebsocket.close()\u003c/code\u003e\n(c0327ec1).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eProviding a \u003ccode\u003eTypedArray\u003c/code\u003e (e.g. \u003ccode\u003eFloat32Array\u003c/code\u003e) as the \u003ccode\u003ereason\u003c/code\u003e argument for\n\u003ccode\u003ewebsocket.close()\u003c/code\u003e, rather than the supported string or \u003ccode\u003eBuffer\u003c/code\u003e types, caused\nuninitialized memory to be disclosed to the remote peer.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { deepStrictEqual } from 'node:assert';\r\nimport { WebSocket, WebSocketServer } from 'ws';\r\n\u003cp\u003econst wss = new WebSocketServer(\n{ port: 0, skipUTF8Validation: true },\nfunction () {\nconst { port } = wss.address();\nconst ws = new WebSocket(\u003ccode\u003ews://localhost:${port}\u003c/code\u003e, {\nskipUTF8Validation: true\n});\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ews.on('close', function (code, reason) {\r\n  deepStrictEqual(reason, Buffer.alloc(80));\r\n});\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\n);\u003c/p\u003e\n\u003cp\u003ewss.on('connection', function (ws) {\nws.close(1000, new Float32Array(20));\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe issue was privately reported by \u003ca href=\"ht...\n\n_Description has been truncated_","html_url":"https://github.com/b310-digital/teammapper/pull/1294","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/b310-digital%2Fteammapper/issues/1294","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1294/packages"}},{"old_version":"21.2.13","new_version":"21.2.14","update_type":"patch","path":null,"pr_created_at":"2026-05-21T00:57:29.000Z","version_change":"21.2.13 → 21.2.14","issue":{"uuid":"4490880081","node_id":"PR_kwDOHBnFWs7dv3Uy","number":1160,"state":"open","title":"Bump the angular group with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T00:57:29.000Z","updated_at":"2026-05-21T02:06:14.731Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":12,"packages":[{"name":"@angular/animations","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/localize","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.11","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.11","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.13` | `21.2.14` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.13` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.13` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.13` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.13` | `21.2.14` |\n| [@angular/localize](https://github.com/angular/angular) | `21.2.13` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.13` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.13` | `21.2.14` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.13` | `21.2.14` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.13` | `21.2.14` |\n\nUpdates `@angular/animations` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a7b9ff5a58b932486dfe5d43012739a7bc16f75b\"\u003e\u003ccode\u003ea7b9ff5\u003c/code\u003e\u003c/a\u003e docs: document FormBuilder.group() controlsConfig value shapes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/localize` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/localize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/localize's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fe8562b38dfd06f57dd1fedd4b5bca5db3810b7\"\u003e\u003ccode\u003e3fe8562\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.14 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9627e02bde5478c595c2771cbcc022a0ac8acf10\"\u003e\u003ccode\u003e9627e02\u003c/code\u003e\u003c/a\u003e docs: link to ng new reference from installation guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a7b9ff5a58b932486dfe5d43012739a7bc16f75b\"\u003e\u003ccode\u003ea7b9ff5\u003c/code\u003e\u003c/a\u003e docs: document FormBuilder.group() controlsConfig value shapes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b6f780e2d4f448088aaeb492131630f958a31cb\"\u003e\u003ccode\u003e1b6f780\u003c/code\u003e\u003c/a\u003e docs: fix grammar slips on pipes guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d56f1a35adb94571bc8a4b4b17dc47c3bc0053db\"\u003e\u003ccode\u003ed56f1a3\u003c/code\u003e\u003c/a\u003e docs: document barrel file caveat for \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e lazy chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/232b21db55948defe5322152d6b67c03ca69b41e\"\u003e\u003ccode\u003e232b21d\u003c/code\u003e\u003c/a\u003e docs: document content projection limitations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c7f70e8ea3a769f8231e5f73ee8abf6051bf50f\"\u003e\u003ccode\u003e0c7f70e\u003c/code\u003e\u003c/a\u003e fix(docs-infra): make absolute angular.dev hrefs relative in CLI option descr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ef4ea3e399b723c8b1146729fac57a15d695dfd\"\u003e\u003ccode\u003e1ef4ea3\u003c/code\u003e\u003c/a\u003e docs: update supported Angular versions table to reflect v19 end-of-life status\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/395919ffeb37a9287a8a968cdc6ea370a82867c3\"\u003e\u003ccode\u003e395919f\u003c/code\u003e\u003c/a\u003e docs: clarify viewProviders visibility with projected content\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/compare/v21.2.13...v21.2.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/platform-browser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003ccode\u003e099bf57\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/service-worker` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/service-worker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/service-worker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/service-worker\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/build` from 21.2.11 to 21.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/build's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/build's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-angular are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-webpack are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e loader and plugin are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b2f7a038b4a321e4e1b0b340cd09425f948c77ad\"\u003eb2f7a038b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003econditionally install istanbul coverage provider for Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d227e6985ef5540e0eea2571577ee2b9be0d3c64\"\u003ed227e6985\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fake async to Vitest fake timers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d2aa9ede55a3e16b61ce6ae60dba6c8ea8954358\"\u003ed2aa9ede5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fakeAsync's flush behavior when used in beforeEach\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c9f4081533f6f114846b88a152a9d5dc7363d680\"\u003ec9f408153\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eset up fake timers in beforeEach instead of beforeAll\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8d0805dd1750cb16af620811dc01b40e46ad030e\"\u003e8d0805dd1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eupdate TSConfig globals during karma to vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aed407db8be6bc7591fb82f10c79586cbd072a8a\"\u003eaed407db8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edefer karma config deletion in Karma to Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7fb59eaa65a8d7e880b6f44d715b2aeaff9301ca\"\u003e7fb59eaa6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse service decorator in ng generate\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/58c0978f658e...\n\n_Description has been truncated_","html_url":"https://github.com/cjmalloy/jasper-ui/pull/1160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjmalloy%2Fjasper-ui/issues/1160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1160/packages"}},{"old_version":"21.2.13","new_version":"21.2.14","update_type":"patch","path":"/source/progressive-web-app","pr_created_at":"2026-05-21T00:42:13.000Z","version_change":"21.2.13 → 21.2.14","issue":{"uuid":"4490829432","node_id":"PR_kwDOCOqa3c7dvtYX","number":1499,"state":"open","title":"build(deps): Bump the angular group in /source/progressive-web-app with 11 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T00:42:13.000Z","updated_at":"2026-05-21T00:43:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"angular","update_count":11,"packages":[{"name":"@angular/animations","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.11","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.11","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/source/progressive-web-app","ecosystem":"npm"},"body":"Bumps the angular group in /source/progressive-web-app with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.13` | `21.2.14` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.13` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.13` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.13` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.13` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.13` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.13` | `21.2.14` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.13` | `21.2.14` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.13` | `21.2.14` |\n\nUpdates `@angular/animations` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d6e71dd788ebda5d9bb9d3c560cc27bb503f44b\"\u003e\u003ccode\u003e1d6e71d\u003c/code\u003e\u003c/a\u003e docs: clarify ngDoCheck invocation behavior with OnPush strategy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003ccode\u003e49113ac\u003c/code\u003e\u003c/a\u003e fix(core): visit ICU expressions in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003ccode\u003ec0f5227\u003c/code\u003e\u003c/a\u003e fix(core): do not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003ccode\u003e0fb2724\u003c/code\u003e\u003c/a\u003e fix(core): reject script element as a dynamic component host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6652ec0115b20a6f8721137769afac30cd70f9a6\"\u003e\u003ccode\u003e6652ec0\u003c/code\u003e\u003c/a\u003e refactor(core): align namespaced attribute validation and security schema con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003ccode\u003e938a7f3\u003c/code\u003e\u003c/a\u003e fix(core): makes resource URL sanitizer lookup case-insensitive\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a7b9ff5a58b932486dfe5d43012739a7bc16f75b\"\u003e\u003ccode\u003ea7b9ff5\u003c/code\u003e\u003c/a\u003e docs: document FormBuilder.group() controlsConfig value shapes\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/platform-browser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003ccode\u003e099bf57\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/service-worker` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/service-worker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e\u003cimg src=\"https://img.shields.io/badge/099bf577ee-fix-green\" alt=\"fix - 099bf577ee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/service-worker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.14 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e68282dff9f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003ec0f52272ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e938a7f3edd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e0fb2724194\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e49113ac0ef\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/099bf577ee8f0bab60593a8fd2a1de7d298e3cd6\"\u003e099bf577ee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip scroll-to-top on initial navigation when hydrating\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c7aef8ec5dd12b5b1d4c703a61bd1dd43f998e18\"\u003ec7aef8ec5d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenforce parentheses containing arguments for :host-context\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8a1533c9ad7c306e03d7c50676f87b56bade5bf6\"\u003e8a1533c9ad\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leading commas in animation definitions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/194f723f6620ea3cdf490b762ecbef8df6bb2c8a\"\u003e194f723f66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove dedicated support for legacy shadow DOM selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c25a42e988e7a59d4d4dc3121cd77f7b344c048\"\u003e4c25a42e98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove deprecated shadow CSS encapsulation polyfills\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7dc1017e517c077a6aa8fd749392a2af1277e1b7\"\u003e7dc1017e51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify handling of colon host with a selector list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ccb7d427e4f07506c14c50ce0cbe87c57930ebb5\"\u003eccb7d427e4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etype check invalid for loops\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/119a19e604a500f295867fc2cf2e6dbd43a9d807\"\u003e119a19e604\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.14/packages/service-worker\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/build` from 21.2.11 to 21.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/build's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/build's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-angular are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-webpack are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e loader and plugin are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b2f7a038b4a321e4e1b0b340cd09425f948c77ad\"\u003eb2f7a038b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003econditionally install istanbul coverage provider for Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d227e6985ef5540e0eea2571577ee2b9be0d3c64\"\u003ed227e6985\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fake async to Vitest fake timers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d2aa9ede55a3e16b61ce6ae60dba6c8ea8954358\"\u003ed2aa9ede5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fakeAsync's flush behavior when used in beforeEach\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c9f4081533f6f114846b88a152a9d5dc7363d680\"\u003ec9f408153\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eset up fake timers in beforeEach instead of beforeAll\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8d0805dd1750cb16af620811dc01b40e46ad030e\"\u003e8d0805dd1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eupdate TSConfig globals during karma to vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aed407db8be6bc7591fb82f10c79586cbd072a8a\"\u003eaed407db8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edefer karma config deletion in Karma to Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7fb59eaa65a8d7e880b6f44d715b2aeaff9301ca\"\u003e7fb59eaa6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse service decorator in ng generate\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/58c0978f658ee5fa7232abd8e2eb7f146e4eb6bb\"\u003e58c0978f6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ff88f491da38493d6e06f3e4ac080d171c630ccd\"\u003eff88f491d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict MCP workspace access to allowed client roots during resolution\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9dcef4d6f7e61cef518d332a17ea0889b93e8d5c\"\u003e\u003ccode\u003e9dcef4d\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/feec5bfe03cb6cc5c3ebbc472643ef8f5e872b37\"\u003e\u003ccode\u003efeec5bf\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): add missing \u003ccode\u003eOutputFile\u003c/code\u003e import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/48c17e8a9b9a4676b58a4677bfc920934f2a7883\"\u003e\u003ccode\u003e48c17e8\u003c/code\u003e\u003c/a\u003e docs: update JSDoc return tag to \u003ccode\u003e@return\u003c/code\u003e and fix description in registry.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003ccode\u003ecbad575\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ignore virtual esbuild paths with (disabled):\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6cc934921befc1e972d628d8164f55a230e9b883\"\u003e\u003ccode\u003e6cc9349\u003c/code\u003e\u003c/a\u003e docs: update ng.ts render function documentation to reflect removal of render...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.11...v21.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 21.2.11 to 21.2.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-angular are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWebpack builders in build-webpack are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e builders instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ngtools/webpack\u003c/code\u003e loader and plugin are deprecated. Use \u003ccode\u003e@​angular/build\u003c/code\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b2f7a038b4a321e4e1b0b340cd09425f948c77ad\"\u003eb2f7a038b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003econditionally install istanbul coverage provider for Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d227e6985ef5540e0eea2571577ee2b9be0d3c64\"\u003ed227e6985\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fake async to Vitest fake timers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d2aa9ede55a3e16b61ce6ae60dba6c8ea8954358\"\u003ed2aa9ede5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003emigrate fakeAsync's flush behavior when used in beforeEach\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c9f4081533f6f114846b88a152a9d5dc7363d680\"\u003ec9f408153\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eset up fake timers in beforeEach instead of beforeAll\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8d0805dd1750cb16af620811dc01b40e46ad030e\"\u003e8d0805dd1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eupdate TSConfig globals during karma to vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aed407db8be6bc7591fb82f10c79586cbd072a8a\"\u003eaed407db8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edefer karma config deletion in Karma to Vitest migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7fb59eaa65a8d7e880b6f44d715b2aeaff9301ca\"\u003e7fb59eaa6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse service decorator in ng generate\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/58c0978f658ee5fa7232abd8e2eb7f146e4eb6bb\"\u003e58c0978f6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd support for Node.js 26.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ff88f491da38493d6e06f3e4ac080d171c630ccd\"\u003eff88f491d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict MCP workspace access to allowed client roots during resolution\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9dcef4d6f7e61cef518d332a17ea0889b93e8d5c\"\u003e\u003ccode\u003e9dcef4d\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/feec5bfe03cb6cc5c3ebbc472643ef8f5e872b37\"\u003e\u003ccode\u003efeec5bf\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): add missing \u003ccode\u003eOutputFile\u003c/code\u003e import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/48c17e8a9b9a4676b58a4677bfc920934f2a7883\"\u003e\u003ccode\u003e48c17e8\u003c/code\u003e\u003c/a\u003e docs: update JSDoc return tag to \u003ccode\u003e@return\u003c/code\u003e and fix description in registry.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003ccode\u003ecbad575\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ignore virtual esbuild paths with (disabled):\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6cc934921befc1e972d628d8164f55a230e9b883\"\u003e\u003ccode\u003e6cc9349\u003c/code\u003e\u003c/a\u003e docs: update ng.ts render function documentation to reflect removal of render...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.11...v21.2.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 21.2.13 to 21.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/ang...\n\n_Description has been truncated_","html_url":"https://github.com/talha0113/microsoft-account-profile-information/pull/1499","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/talha0113%2Fmicrosoft-account-profile-information/issues/1499","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1499/packages"}},{"old_version":"21.2.12","new_version":"21.2.13","update_type":"patch","path":null,"pr_created_at":"2026-05-19T07:00:06.000Z","version_change":"21.2.12 → 21.2.13","issue":{"uuid":"4475145015","node_id":"PR_kwDOBgachM7c9ALm","number":4833,"state":"closed","title":"Bump the angular group with 16 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-26T03:24:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T07:00:06.000Z","updated_at":"2026-05-26T03:24:24.000Z","time_to_close":591856,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":16,"packages":[{"name":"@angular/animations","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/architect","old_version":"0.2102.10","new_version":"0.2102.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/build","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/language-service","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.12` | `21.2.13` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.10` | `21.2.11` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `21.2.13` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `21.2.13` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `21.2.13` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `21.2.13` |\n| [@angular/material](https://github.com/angular/components) | `21.2.10` | `21.2.11` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `21.2.13` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.12` | `21.2.13` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `21.2.13` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.12` | `21.2.13` |\n| [@angular-devkit/architect](https://github.com/angular/angular-cli) | `0.2102.10` | `0.2102.11` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `21.2.13` |\n| [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `21.2.12` | `21.2.13` |\n\nUpdates `@angular/animations` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.10 to 21.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003eadd8f16c0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e9d73c98b5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e75718e4fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...v21.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/material` from 21.2.10 to 21.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003eadd8f16c0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e9d73c98b5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e75718e4fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...v21.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/platform-browser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser-dynamic` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/platform-browser-dynamic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser-dynamic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/platform-browser-dynamic\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/service-worker` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/service-worker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/service-worker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/service-worker\"\u003eco...\n\n_Description has been truncated_","html_url":"https://github.com/abraham/slides-today/pull/4833","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/abraham%2Fslides-today/issues/4833","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4833/packages"}},{"old_version":"20.3.17","new_version":"21.2.13","update_type":"major","path":null,"pr_created_at":"2026-05-19T03:34:34.000Z","version_change":"20.3.17 → 21.2.13","issue":{"uuid":"4474189345","node_id":"PR_kwDOPCIeBc7c58qN","number":923,"state":"closed","title":"chore(frontend)(deps): bump the angular group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["backend","frontend","dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T23:55:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T03:34:34.000Z","updated_at":"2026-05-25T23:56:00.000Z","time_to_close":591684,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(frontend)(deps): bump","group_name":"angular","update_count":13,"packages":[{"name":"@angular/animations","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"20.2.14","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"20.2.14","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"20.3.18","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"20.3.18","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"20.3.17","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 13 updates in the /choir-app-frontend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `20.3.17` | `21.2.13` |\n| [@angular/cdk](https://github.com/angular/components) | `20.2.14` | `21.2.11` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `20.3.17` | `21.2.13` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `20.3.17` | `21.2.13` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `20.3.17` | `21.2.13` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `20.3.17` | `21.2.13` |\n| [@angular/material](https://github.com/angular/components) | `20.2.14` | `21.2.11` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `20.3.17` | `21.2.13` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `20.3.17` | `21.2.13` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `20.3.17` | `21.2.13` |\n| [@angular/build](https://github.com/angular/angular-cli) | `20.3.18` | `21.2.11` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `20.3.18` | `21.2.11` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `20.3.17` | `21.2.13` |\n\n\nUpdates `@angular/animations` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f5d8a2c0b-fix-green\" alt=\"fix - 4f5d8a2c0b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003elet declaration span not including end character\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003cimg src=\"https://img.shields.io/badge/a40e2cebc8-fix-green\" alt=\"fix - a40e2cebc8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix ordering of view queries metadata in JIT mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/885a1a1d9757adfa8766d9b369c848a277438c31\"\u003e\u003cimg src=\"https://img.shields.io/badge/885a1a1d97-fix-green\" alt=\"fix - 885a1a1d97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against non-object events and avoid listener wrapper identity mismatch\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a64aff9b59999077ea915486a7fa0b97a286659\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a64aff9b5-fix-green\" alt=\"fix - 7a64aff9b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent event replay double-invocation when element hydrates before app stability\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be1f80a253b8ee27ed7d8de2287d6895c4821909\"\u003e\u003cimg src=\"https://img.shields.io/badge/be1f80a253-fix-green\" alt=\"fix - be1f80a253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003edocs\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7907e982ee90778e596d3e849f0a31c6c26db235\"\u003e\u003ccode\u003e7907e98\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2b257b36590677d436d45e98cefe7ca886c7bd57\"\u003e\u003ccode\u003e2b257b3\u003c/code\u003e\u003c/a\u003e fix(animations): account for \u003ccode\u003eElement.animate\u003c/code\u003e exceptions (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64506\"\u003e#64506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dde5badb7133826187314e07fcdc578297aabbc9\"\u003e\u003ccode\u003edde5bad\u003c/code\u003e\u003c/a\u003e fix(core): prevent animations renderer from impacting \u003ccode\u003eanimate.leave\u003c/code\u003e (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63921\"\u003e#63921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c3576506b3c13389e18fa4c0c29bdf536f604142\"\u003e\u003ccode\u003ec357650\u003c/code\u003e\u003c/a\u003e refactor(core): Update tests for zoneless by default (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63668\"\u003e#63668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/021ead5399ab1136da160c7348ec8555ef5ee8fd\"\u003e\u003ccode\u003e021ead5\u003c/code\u003e\u003c/a\u003e refactor(animations): remove dependency on \u003ccode\u003e@angular/common\u003c/code\u003e (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/63248\"\u003e#63248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 20.2.14 to 21.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003cimg src=\"https://img.shields.io/badge/48973661e-fix-green\" alt=\"fix - 48973661e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.9\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/51271c6194a9b55ee847c566a8960c9be5ec7cce\"\u003e\u003cimg src=\"https://img.shields.io/badge/51271c619-fix-green\" alt=\"fix - 51271c619\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow stepper to be labelled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33137\"\u003e#33137\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/3a3852d45a4bbcfb23b46ca00e0eba1d70081ba3\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a3852d45-fix-green\" alt=\"fix - 3a3852d45\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e enter/space key on child node should not toggle parent node expansion (\u003ca href=\"https://redirect.github.com/angular/components/issues/33125\"\u003e#33125\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bf14cc9d9fd349974cba853d4747b6859b3aae5b\"\u003e\u003cimg src=\"https://img.shields.io/badge/bf14cc9d9-fix-green\" alt=\"fix - bf14cc9d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e use computed for menu item patterns, with trigger on visible (\u003ca href=\"https://redirect.github.com/angular/components/issues/33118\"\u003e#33118\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.8\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/5954c4594c6df87908bc7849214a29f6897b213e\"\u003e\u003cimg src=\"https://img.shields.io/badge/5954c4594c-fix-green\" alt=\"fix - 5954c4594c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e deprecate MatSortHeaderIntl and hide from docs (\u003ca href=\"https://redirect.github.com/angular/components/issues/33089\"\u003e#33089\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/5b4bbe9c4f8c902d6923b139e7a925822c899bc1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b4bbe9c4f-fix-green\" alt=\"fix - 5b4bbe9c4f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eselect:\u003c/strong\u003e wrong transform origin when opening upwards inside another overlay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33032\"\u003e#33032\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/895908a12dd81d889f95961da59e80823faf8889\"\u003e\u003cimg src=\"https://img.shields.io/badge/895908a12-fix-green\" alt=\"fix - 895908a12\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esidenav:\u003c/strong\u003e not resetting margin if transition does not start (\u003ca href=\"https://redirect.github.com/angular/components/issues/33001\"\u003e#33001\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/475a8aabb30044c4cdca1bdb0b1de832db6e5936\"\u003e\u003cimg src=\"https://img.shields.io/badge/475a8aabb-fix-green\" alt=\"fix - 475a8aabb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslider:\u003c/strong\u003e not picking up static direction (\u003ca href=\"https://redirect.github.com/angular/components/issues/33006\"\u003e#33006\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/8a5ed09e59e312f82b969b19ae4d077e4574bd12\"\u003e\u003cimg src=\"https://img.shields.io/badge/8a5ed09e5-fix-green\" alt=\"fix - 8a5ed09e5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etooltip:\u003c/strong\u003e allow hover detection logic to be customized (\u003ca href=\"https://redirect.github.com/angular/components/issues/33018\"\u003e#33018\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/42e10553cfcf205fea44522ae631fe23f90b03ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/42e10553c-fix-green\" alt=\"fix - 42e10553c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e linear updates not reflected in the DOM (\u003ca href=\"https://redirect.github.com/angular/components/issues/33007\"\u003e#33007\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003eadd8f16c0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e9d73c98b5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e75718e4fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/583da8a564dcb667cb8928e79d286eadee0a5013\"\u003e\u003ccode\u003e583da8a\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.10 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/babfbb7430547d5f4558174aec1a07ce6c67a26f\"\u003e\u003ccode\u003ebabfbb7\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33205\"\u003e#33205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e08fdf2a6a120078b512043bf5804bc3c7f9716a\"\u003e\u003ccode\u003ee08fdf2\u003c/code\u003e\u003c/a\u003e build: fix failing test (\u003ca href=\"https://redirect.github.com/angular/components/issues/33212\"\u003e#33212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/09e89fa188f157c0892019a461459cd9a252a673\"\u003e\u003ccode\u003e09e89fa\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33201\"\u003e#33201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/48973661ec50649918e3dcafc096d340219135da\"\u003e\u003ccode\u003e4897366\u003c/code\u003e\u003c/a\u003e fix(aria/menu): do not set default aria-label (\u003ca href=\"https://redirect.github.com/angular/components/issues/33202\"\u003e#33202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/a6c5b72562b9d46ea3c10a2ecb668e013b46a103\"\u003e\u003ccode\u003ea6c5b72\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33181\"\u003e#33181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b7c34e306539716a1222468907ad4af5fb6b1aee\"\u003e\u003ccode\u003eb7c34e3\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33160\"\u003e#33160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/58e29cf1aa8265d6041350c716c5fbfa9e25b738\"\u003e\u003ccode\u003e58e29cf\u003c/code\u003e\u003c/a\u003e build: update dependency bazel_lib to v3.3.1 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33177\"\u003e#33177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e2f16ac34e93e69b1ef960ba70c517de799d05cc\"\u003e\u003ccode\u003ee2f16ac\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.33.2 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33165\"\u003e#33165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/20.2.14...v21.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f5d8a2c0b-fix-green\" alt=\"fix - 4f5d8a2c0b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003elet declaration span not including end character\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003cimg src=\"https://img.shields.io/badge/a40e2cebc8-fix-green\" alt=\"fix - a40e2cebc8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix ordering of view queries metadata in JIT mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/885a1a1d9757adfa8766d9b369c848a277438c31\"\u003e\u003cimg src=\"https://img.shields.io/badge/885a1a1d97-fix-green\" alt=\"fix - 885a1a1d97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against non-object events and avoid listener wrapper identity mismatch\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a64aff9b59999077ea915486a7fa0b97a286659\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a64aff9b5-fix-green\" alt=\"fix - 7a64aff9b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent event replay double-invocation when element hydrates before app stability\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be1f80a253b8ee27ed7d8de2287d6895c4821909\"\u003e\u003cimg src=\"https://img.shields.io/badge/be1f80a253-fix-green\" alt=\"fix - be1f80a253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003edocs\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/30cf85f71c52683016200ecf6d68b4418084ee6e\"\u003e\u003ccode\u003e30cf85f\u003c/code\u003e\u003c/a\u003e refactor(common): update deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/42d57c35781fb65fc4d44df59b6a85287664216a\"\u003e\u003ccode\u003e42d57c3\u003c/code\u003e\u003c/a\u003e refactor(common): fix viewport tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003ccode\u003e10ad3c0\u003c/code\u003e\u003c/a\u003e fix(common): prevent focus from scrollToAnchor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/540536c386f2c735a700c2c9e2697a88dcb3d4ec\"\u003e\u003ccode\u003e540536c\u003c/code\u003e\u003c/a\u003e fix(http): add CSP nonce support to JsonpClientBackend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8102331f82c808ca2256ba51a1d83803a61beabb\"\u003e\u003ccode\u003e8102331\u003c/code\u003e\u003c/a\u003e test(http): disable XSRF and mock location in HttpClient tests to avoid Domin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/13f050d2204285173273ebbfe9b34bc1b3c63c80\"\u003e\u003ccode\u003e13f050d\u003c/code\u003e\u003c/a\u003e test: construct local \u003ccode\u003eDate\u003c/code\u003e objects to fix timezone flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d0cf2995a2b63eb13fe574770ee8a756277852a4\"\u003e\u003ccode\u003ed0cf299\u003c/code\u003e\u003c/a\u003e test: remove unsupported timezone from \u003ccode\u003eformatDate\u003c/code\u003e tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b4ab6ba2e84a18309b0bb5dd68311ff1776b1cb4\"\u003e\u003ccode\u003eb4ab6ba\u003c/code\u003e\u003c/a\u003e fix(common): avoid redundant image fetch on destroy with auto sizes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/adda6c5c106815c727c1b820634614a045b42e9a\"\u003e\u003ccode\u003eadda6c5\u003c/code\u003e\u003c/a\u003e build: update \u003ccode\u003easpect_rules_js\u003c/code\u003e to \u003ccode\u003e3.0.2\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/93c6dc6395d681dacd1dbbc46b95773038b6c32f\"\u003e\u003ccode\u003e93c6dc6\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;refactor(http): Improves base64 encoding/decoding with feature detect...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f5d8a2c0b-fix-green\" alt=\"fix - 4f5d8a2c0b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003elet declaration span not including end character\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003cimg src=\"https://img.shields.io/badge/a40e2cebc8-fix-green\" alt=\"fix - a40e2cebc8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix ordering of view queries metadata in JIT mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/885a1a1d9757adfa8766d9b369c848a277438c31\"\u003e\u003cimg src=\"https://img.shields.io/badge/885a1a1d97-fix-green\" alt=\"fix - 885a1a1d97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against non-object events and avoid listener wrapper identity mismatch\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a64aff9b59999077ea915486a7fa0b97a286659\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a64aff9b5-fix-green\" alt=\"fix - 7a64aff9b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent event replay double-invocation when element hydrates before app stability\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be1f80a253b8ee27ed7d8de2287d6895c4821909\"\u003e\u003cimg src=\"https://img.shields.io/badge/be1f80a253-fix-green\" alt=\"fix - be1f80a253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003edocs\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/baf92da96ed73a0f4748edf05d3c0702cab219da\"\u003e\u003ccode\u003ebaf92da\u003c/code\u003e\u003c/a\u003e test: remove invalid css that was causing issues with the postcss parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003ccode\u003e4f5d8a2\u003c/code\u003e\u003c/a\u003e fix(compiler): let declaration span not including end character\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a4f312060cdf745e4fb0b15eda24ee2b4df0440c\"\u003e\u003ccode\u003ea4f3120\u003c/code\u003e\u003c/a\u003e refactor(compiler): require a reference in DirectiveMeta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/de533fe49181ee7409fd0b0ae4c0391a1e220ee6\"\u003e\u003ccode\u003ede533fe\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): move ClassPropertyMapping into compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ea1e34c4ddf404cde8d5c4ba0ba762bb0b9edbf8\"\u003e\u003ccode\u003eea1e34c\u003c/code\u003e\u003c/a\u003e refactor(compiler): move matchSource into base metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e40d378f3e3e7e57a45c8fbd9565ee06a3a6a13f\"\u003e\u003ccode\u003ee40d378\u003c/code\u003e\u003c/a\u003e fix(compiler): handle nested brackets in host object bindings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d04ddd73dfc03f420afbdde964c5119f338af135\"\u003e\u003ccode\u003ed04ddd7\u003c/code\u003e\u003c/a\u003e fix(core): prevent binding unsafe attributes on SVG animation elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/67797\"\u003e#67797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fea25d1a60ecaba1599d9cd9b8df27109ed195c5\"\u003e\u003ccode\u003efea25d1\u003c/code\u003e\u003c/a\u003e fix(compiler): register SVG animation attributes in URL security context (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/67\"\u003e#67\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/880a57d4b34af5aa27cd5bee11fa218ade6444bb\"\u003e\u003ccode\u003e880a57d\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent shimCssText from adding extra blank lines per CSS comment\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/compiler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/core` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/10ad3c06923453ae0ec06b06e664ce05900a4ff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/10ad3c0692-fix-green\" alt=\"fix - 10ad3c0692\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent focus from scrollToAnchor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f5d8a2c0b-fix-green\" alt=\"fix - 4f5d8a2c0b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003elet declaration span not including end character\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003cimg src=\"https://img.shields.io/badge/a40e2cebc8-fix-green\" alt=\"fix - a40e2cebc8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix ordering of view queries metadata in JIT mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/885a1a1d9757adfa8766d9b369c848a277438c31\"\u003e\u003cimg src=\"https://img.shields.io/badge/885a1a1d97-fix-green\" alt=\"fix - 885a1a1d97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against non-object events and avoid listener wrapper identity mismatch\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a64aff9b59999077ea915486a7fa0b97a286659\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a64aff9b5-fix-green\" alt=\"fix - 7a64aff9b5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent event replay double-invocation when element hydrates before app stability\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be1f80a253b8ee27ed7d8de2287d6895c4821909\"\u003e\u003cimg src=\"https://img.shields.io/badge/be1f80a253-fix-green\" alt=\"fix - be1f80a253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003edocs\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003ccode\u003e9e38ed7\u003c/code\u003e\u003c/a\u003e fix(core): sanitizer typings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003ccode\u003e3430251\u003c/code\u003e\u003c/a\u003e fix(core): i18n flags leaking on errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003ccode\u003ec37f6ca\u003c/code\u003e\u003c/a\u003e fix(core): visit ng-let expression value in signal migration schematics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003ccode\u003efe13bb6\u003c/code\u003e\u003c/a\u003e fix(core): allow explicit read generic with signal input transforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003ccode\u003e7a05a9a\u003c/code\u003e\u003c/a\u003e fix(core): validate security-sensitive attributes in i18n bindings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003ccode\u003e1aeebbe\u003c/code\u003e\u003c/a\u003e fix(core): respect ngSkipHydration on components with projectable nodes in LC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4900e453e1a2e9351ad2672a804d876ff5a62968\"\u003e\u003ccode\u003e4900e45\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a40e2cebc878965c3e21bfb61658f3f80cbd2ebf\"\u003e\u003ccode\u003ea40e2ce\u003c/code\u003e\u003c/a\u003e fix(core): fix ordering of view queries metadata in JIT mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9bcbf376413632590ef1fb1cebe68d049d9bd45b\"\u003e\u003ccode\u003e9bcbf37\u003c/code\u003e\u003c/a\u003e refactor(core): fix bundling symbol test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 20.3.17 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate securi...\n\n_Description has been truncated_","html_url":"https://github.com/freedy79/Chorleiter/pull/923","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/freedy79%2FChorleiter/issues/923","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/923/packages"}},{"old_version":"21.2.12","new_version":"21.2.13","update_type":"patch","path":null,"pr_created_at":"2026-05-19T02:43:50.000Z","version_change":"21.2.12 → 21.2.13","issue":{"uuid":"4474000305","node_id":"PR_kwDOBucjac7c5Wbf","number":161,"state":"closed","title":"chore(deps): Bump the all-deps group across 1 directory with 58 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-25T22:37:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T02:43:50.000Z","updated_at":"2026-05-25T22:37:51.000Z","time_to_close":590039,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"all-deps","update_count":58,"packages":[{"name":"@analogjs/content","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/router","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/vite-plugin-angular","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@analogjs/vitest-angular","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular/animations","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-server","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"mermaid","old_version":"11.14.0","new_version":"11.15.0","repository_url":"https://github.com/mermaid-js/mermaid"},{"name":"@analogjs/platform","old_version":"2.5.0","new_version":"2.5.1","repository_url":"https://github.com/analogjs/analog"},{"name":"@angular-devkit/architect","old_version":"0.2102.10","new_version":"0.2102.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/core","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/schematics","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-eslint/eslint-plugin","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/eslint-plugin-template","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/template-parser","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular/build","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@angular/language-service","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"},{"name":"@commitlint/cli","old_version":"21.0.0","new_version":"21.0.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.0.0","new_version":"21.0.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@nx/angular","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/devkit","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/esbuild","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/eslint","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/eslint-plugin","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/js","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/node","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/playwright","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/vite","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/vitest","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/web","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/workspace","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"@oxc-project/runtime","old_version":"0.129.0","new_version":"0.132.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@schematics/angular","old_version":"21.2.10","new_version":"21.2.11","repository_url":"https://github.com/angular/angular-cli"},{"name":"@types/node","old_version":"25.6.2","new_version":"25.9.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/utils","old_version":"8.59.2","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"angular-eslint","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"eslint","old_version":"10.3.0","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-playwright","old_version":"2.10.2","new_version":"2.10.3","repository_url":"https://github.com/mskelton/eslint-plugin-playwright"},{"name":"lint-staged","old_version":"17.0.4","new_version":"17.0.5","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"nx","old_version":"22.7.1","new_version":"22.7.2","repository_url":"https://github.com/nrwl/nx"},{"name":"typescript-eslint","old_version":"8.59.2","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"8.0.11","new_version":"8.0.13","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"ink","old_version":"7.0.2","new_version":"7.0.3","repository_url":"https://github.com/vadimdemedes/ink"}],"path":null,"ecosystem":"npm"},"body":"Bumps the all-deps group with 58 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@analogjs/content](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@analogjs/router](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@analogjs/vite-plugin-angular](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@analogjs/vitest-angular](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.12` | `21.2.13` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.10` | `21.2.11` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `21.2.13` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `21.2.13` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `21.2.13` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `21.2.13` |\n| [@angular/material](https://github.com/angular/components) | `21.2.10` | `21.2.11` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `21.2.13` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.12` | `21.2.13` |\n| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `21.2.12` | `21.2.13` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `21.2.13` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.12` | `21.2.13` |\n| [mermaid](https://github.com/mermaid-js/mermaid) | `11.14.0` | `11.15.0` |\n| [@analogjs/platform](https://github.com/analogjs/analog) | `2.5.0` | `2.5.1` |\n| [@angular-devkit/architect](https://github.com/angular/angular-cli) | `0.2102.10` | `0.2102.11` |\n| [@angular-devkit/core](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular-eslint/eslint-plugin](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/eslint-plugin-template](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin-template) | `21.3.1` | `21.4.0` |\n| [@angular-eslint/template-parser](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/template-parser) | `21.3.1` | `21.4.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `21.2.13` |\n| [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `21.2.12` | `21.2.13` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.0` | `21.0.1` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.0` | `21.0.1` |\n| [@nx/angular](https://github.com/nrwl/nx/tree/HEAD/packages/angular) | `22.7.1` | `22.7.2` |\n| [@nx/devkit](https://github.com/nrwl/nx/tree/HEAD/packages/devkit) | `22.7.1` | `22.7.2` |\n| [@nx/esbuild](https://github.com/nrwl/nx/tree/HEAD/packages/esbuild) | `22.7.1` | `22.7.2` |\n| [@nx/eslint](https://github.com/nrwl/nx/tree/HEAD/packages/eslint) | `22.7.1` | `22.7.2` |\n| [@nx/eslint-plugin](https://github.com/nrwl/nx/tree/HEAD/packages/eslint-plugin) | `22.7.1` | `22.7.2` |\n| [@nx/js](https://github.com/nrwl/nx/tree/HEAD/packages/js) | `22.7.1` | `22.7.2` |\n| [@nx/node](https://github.com/nrwl/nx/tree/HEAD/packages/node) | `22.7.1` | `22.7.2` |\n| [@nx/playwright](https://github.com/nrwl/nx/tree/HEAD/packages/playwright) | `22.7.1` | `22.7.2` |\n| [@nx/vite](https://github.com/nrwl/nx/tree/HEAD/packages/vite) | `22.7.1` | `22.7.2` |\n| [@nx/vitest](https://github.com/nrwl/nx/tree/HEAD/packages/vitest) | `22.7.1` | `22.7.2` |\n| [@nx/web](https://github.com/nrwl/nx/tree/HEAD/packages/web) | `22.7.1` | `22.7.2` |\n| [@nx/workspace](https://github.com/nrwl/nx/tree/HEAD/packages/workspace) | `22.7.1` | `22.7.2` |\n| [@oxc-project/runtime](https://github.com/oxc-project/oxc/tree/HEAD/npm/runtime) | `0.129.0` | `0.132.0` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [@schematics/angular](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.11` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.2` | `25.9.0` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.59.2` | `8.59.4` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.6` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.5` | `4.1.6` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.3.1` | `21.4.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.3.0` | `10.4.0` |\n| [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright) | `2.10.2` | `2.10.3` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.0.4` | `17.0.5` |\n| [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) | `22.7.1` | `22.7.2` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.2` | `8.59.4` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.11` | `8.0.13` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.6` |\n| [ink](https://github.com/vadimdemedes/ink) | `7.0.2` | `7.0.3` |\n\n\nUpdates `@analogjs/content` from 2.5.0 to 2.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/releases\"\u003e@​analogjs/content's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/blob/beta/CHANGELOG.md\"\u003e@​analogjs/content's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/116bd1db7aca99a663540de960fb73338d6f7574\"\u003e\u003ccode\u003e116bd1d\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3646787bcfb786acd9160496bb3de7906de87390\"\u003e\u003ccode\u003e3646787\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2334\"\u003e#2334\u003c/a\u003e from analogjs/beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3f51e35a256153ca07946288299c2a323de1c015\"\u003e\u003ccode\u003e3f51e35\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/ae08d65f147a46a658af4b2ecd8c25b0972ed949\"\u003e\u003ccode\u003eae08d65\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/19bebb657fe3ff284eab72e852aac718b684f2a9\"\u003e\u003ccode\u003e19bebb6\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e\u003ccode\u003e46c608f\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/17dd6bfa5cd9fea6d46bba3e7ec6e2e0d629eade\"\u003e\u003ccode\u003e17dd6bf\u003c/code\u003e\u003c/a\u003e chore: update personal contributor information (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2331\"\u003e#2331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/bb4cf8a63e4e860b8d3c0970025a4759815f4bdb\"\u003e\u003ccode\u003ebb4cf8a\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e\u003ccode\u003e6f90b77\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): keep fallback-block components eager in defer walker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e\u003ccode\u003e8a0bae6\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): wrap binary/integer-literal receivers in member access\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@analogjs/router` from 2.5.0 to 2.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/releases\"\u003e@​analogjs/router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/blob/beta/CHANGELOG.md\"\u003e@​analogjs/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/116bd1db7aca99a663540de960fb73338d6f7574\"\u003e\u003ccode\u003e116bd1d\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3646787bcfb786acd9160496bb3de7906de87390\"\u003e\u003ccode\u003e3646787\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2334\"\u003e#2334\u003c/a\u003e from analogjs/beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3f51e35a256153ca07946288299c2a323de1c015\"\u003e\u003ccode\u003e3f51e35\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/ae08d65f147a46a658af4b2ecd8c25b0972ed949\"\u003e\u003ccode\u003eae08d65\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/19bebb657fe3ff284eab72e852aac718b684f2a9\"\u003e\u003ccode\u003e19bebb6\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e\u003ccode\u003e46c608f\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/17dd6bfa5cd9fea6d46bba3e7ec6e2e0d629eade\"\u003e\u003ccode\u003e17dd6bf\u003c/code\u003e\u003c/a\u003e chore: update personal contributor information (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2331\"\u003e#2331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/bb4cf8a63e4e860b8d3c0970025a4759815f4bdb\"\u003e\u003ccode\u003ebb4cf8a\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e\u003ccode\u003e6f90b77\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): keep fallback-block components eager in defer walker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e\u003ccode\u003e8a0bae6\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): wrap binary/integer-literal receivers in member access\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@analogjs/vite-plugin-angular` from 2.5.0 to 2.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/releases\"\u003e@​analogjs/vite-plugin-angular's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/blob/beta/CHANGELOG.md\"\u003e@​analogjs/vite-plugin-angular's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/116bd1db7aca99a663540de960fb73338d6f7574\"\u003e\u003ccode\u003e116bd1d\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3646787bcfb786acd9160496bb3de7906de87390\"\u003e\u003ccode\u003e3646787\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2334\"\u003e#2334\u003c/a\u003e from analogjs/beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3f51e35a256153ca07946288299c2a323de1c015\"\u003e\u003ccode\u003e3f51e35\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/ae08d65f147a46a658af4b2ecd8c25b0972ed949\"\u003e\u003ccode\u003eae08d65\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/19bebb657fe3ff284eab72e852aac718b684f2a9\"\u003e\u003ccode\u003e19bebb6\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e\u003ccode\u003e46c608f\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/17dd6bfa5cd9fea6d46bba3e7ec6e2e0d629eade\"\u003e\u003ccode\u003e17dd6bf\u003c/code\u003e\u003c/a\u003e chore: update personal contributor information (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2331\"\u003e#2331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/bb4cf8a63e4e860b8d3c0970025a4759815f4bdb\"\u003e\u003ccode\u003ebb4cf8a\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e\u003ccode\u003e6f90b77\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): keep fallback-block components eager in defer walker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e\u003ccode\u003e8a0bae6\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): wrap binary/integer-literal receivers in member access\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@analogjs/vitest-angular` from 2.5.0 to 2.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/releases\"\u003e@​analogjs/vitest-angular's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.5.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.1-beta.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/analogjs/analog/blob/beta/CHANGELOG.md\"\u003e@​analogjs/vitest-angular's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003e2.5.1\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.2...v2.5.1-beta.3\"\u003e2.5.1-beta.3\u003c/a\u003e (2026-05-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e46c608f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.1-beta.1...v2.5.1-beta.2\"\u003e2.5.1-beta.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e keep fallback-block components eager in defer walker (\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e6f90b77\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e support \u003ca href=\"https://github.com/defer\"\u003e\u003ccode\u003e@​defer\u003c/code\u003e\u003c/a\u003e nested inside \u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e / \u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://github.com/analogjs/analog/commit/28c960068d473dc2cc0f4eff583bd11f0fd22220\"\u003e28c9600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e wrap binary/integer-literal receivers in member access (\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e8a0bae6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1-beta.1\"\u003e2.5.1-beta.1\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin-angular:\u003c/strong\u003e strip TS in fastCompile bypass for non-Angular files (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2327\"\u003e#2327\u003c/a\u003e) (\u003ca href=\"https://github.com/analogjs/analog/commit/d337c55ffe83b1a961e6aa91e805feab12e1aa1b\"\u003ed337c55\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/116bd1db7aca99a663540de960fb73338d6f7574\"\u003e\u003ccode\u003e116bd1d\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3646787bcfb786acd9160496bb3de7906de87390\"\u003e\u003ccode\u003e3646787\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2334\"\u003e#2334\u003c/a\u003e from analogjs/beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/3f51e35a256153ca07946288299c2a323de1c015\"\u003e\u003ccode\u003e3f51e35\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/ae08d65f147a46a658af4b2ecd8c25b0972ed949\"\u003e\u003ccode\u003eae08d65\u003c/code\u003e\u003c/a\u003e chore: update pr-scope-governance.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/19bebb657fe3ff284eab72e852aac718b684f2a9\"\u003e\u003ccode\u003e19bebb6\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/46c608f0e365e483e623d52bd7ef61b01d535365\"\u003e\u003ccode\u003e46c608f\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): preserve TS sourcemaps in test pipeline (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/17dd6bfa5cd9fea6d46bba3e7ec6e2e0d629eade\"\u003e\u003ccode\u003e17dd6bf\u003c/code\u003e\u003c/a\u003e chore: update personal contributor information (\u003ca href=\"https://redirect.github.com/analogjs/analog/issues/2331\"\u003e#2331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/bb4cf8a63e4e860b8d3c0970025a4759815f4bdb\"\u003e\u003ccode\u003ebb4cf8a\u003c/code\u003e\u003c/a\u003e chore: release 2.5.1-beta.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/6f90b777e45af5a566d96fd626d1a49a2c5f401d\"\u003e\u003ccode\u003e6f90b77\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): keep fallback-block components eager in defer walker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/analogjs/analog/commit/8a0bae6c2d7713d26ab4ab99a153fc006a9595ec\"\u003e\u003ccode\u003e8a0bae6\u003c/code\u003e\u003c/a\u003e fix(vite-plugin-angular): wrap binary/integer-literal receivers in member access\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/analogjs/analog/compare/v2.5.0...v2.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/animations` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 21.2.10 to 21.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.11 \u0026quot;crystal ball\u0026quot; (2026-05-13)\u003c/h1\u003e\n\u003cp\u003eNo user facing changes in this release\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.8 \u0026quot;plastic-wallaby\u0026quot; (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(aria/combobox): promote simple-combobox to stable un-prefixed combobox\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRelocates public, private, and example directories to clean \u003ccode\u003ecombobox\u003c/code\u003e entry points.\u003c/li\u003e\n\u003cli\u003eRenames internal layout symbols, selectors, and uppercase tokens (\u003ccode\u003eSIMPLE_COMBOBOX_POPUP\u003c/code\u003e -\u0026gt; \u003ccode\u003eCOMBOBOX_POPUP\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEstablishes full documentation extraction parity with the \u003ccode\u003ejson_api\u003c/code\u003e Bazel rule target.\u003c/li\u003e\n\u003cli\u003eStandardizes the accompanying toolbar component showcase into the clean \u003ccode\u003earia-toolbar\u003c/code\u003e path.\u003c/li\u003e\n\u003cli\u003eRe-routes dev-app navigation links and migrates public API golden records.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eSimpleCombobox\u003c/code\u003e has been promoted to \u003ccode\u003eCombobox\u003c/code\u003e. All \u003ccode\u003esimple-combobox\u003c/code\u003e prefixed symbols, selectors, and tokens have been renamed to use the \u003ccode\u003ecombobox\u003c/code\u003e prefix.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(aria/combobox): relocate and restructure autocomplete and toolbar examples\nRelocate the autocomplete examples to \u003ccode\u003esrc/components-examples/aria/autocomplete\u003c/code\u003e and toolbar examples to \u003ccode\u003esrc/components-examples/aria/toolbar\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eRestore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.\u003c/li\u003e\n\u003cli\u003eSync dev-app preview routing layout paths and strict Bazel target dependency links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_HOST_ATTRIBUTE\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCDK_DESCRIBEDBY_ID_PREFIX\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003einjector\u003c/code\u003e parameter of the \u003ccode\u003eConfigurableFocusTrap\u003c/code\u003e and \u003ccode\u003eFocusTrap\u003c/code\u003e constructors is now required.\u003c/li\u003e\n\u003cli\u003eThe boolean parameter of \u003ccode\u003eConfigurableFocusTrapFactory.create\u003c/code\u003e has been replaced with a config object.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMESSAGES_CONTAINER_ID\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eevent\u003c/code\u003e parameter of \u003ccode\u003eDropListRef.drop\u003c/code\u003e is now required.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContextMenuTracker\u003c/code\u003e has been renamed to \u003ccode\u003eMenuTracker\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMatListOption.checkboxPosition\u003c/code\u003e has been removed. use \u003ccode\u003etogglePosition\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMatListOptionCheckboxPosition\u003c/code\u003e has been renamed to \u003ccode\u003eMatListOptionTogglePosition\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewState\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eArrowViewStateTransition\u003c/code\u003e has been removed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003egoogle-maps\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b8201edeef62258c3d1e1ebeaf8ee14766918c22\"\u003eb8201edee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edeprecate heatmap layer (\u003ca href=\"https://redirect.github.com/angular/components/pull/33208\"\u003e#33208\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/add8f16c01ad683b9e2ab9e1bf5ad3a984dd9921\"\u003eadd8f16c0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9d73c98b57d46454d51344bbd59055bc06dabc6b\"\u003e9d73c98b5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003emenu:\u003c/strong\u003e missing panelClass getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33191\"\u003e#33191\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/75718e4fbebce2a7f8aa30550a12d58a5a6f9b93\"\u003e75718e4fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e breaking changes for v22\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/1238d1573e706cbf0a2cabcc97e59d28a9499ecb\"\u003e\u003ccode\u003e1238d15\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...v21.2.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler` from 21.2.12 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/chrisjwalk/angular-cli-netcore-ngrx-starter/pull/161","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisjwalk%2Fangular-cli-netcore-ngrx-starter/issues/161","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/161/packages"}},{"old_version":"21.2.11","new_version":"21.2.13","update_type":"patch","path":null,"pr_created_at":"2026-05-19T01:32:09.000Z","version_change":"21.2.11 → 21.2.13","issue":{"uuid":"4473733469","node_id":"PR_kwDOErxtJs7c4gYk","number":555,"state":"open","title":"Bump @angular/animations from 21.2.11 to 21.2.13","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-19T01:32:09.000Z","updated_at":"2026-05-19T01:35:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/animations","old_version":"21.2.11","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 21.2.11 to 21.2.13.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c6553e97d-fix-green\" alt=\"fix - 1c6553e97d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e\u003cimg src=\"https://img.shields.io/badge/629905d537-fix-green\" alt=\"fix - 629905d537\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b7192f441-fix-green\" alt=\"fix - 0b7192f441\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fe13bb669d2bfab4713623d17b41c430aa0a61d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe13bb669d-fix-green\" alt=\"fix - fe13bb669d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow explicit read generic with signal input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3430251fef93f6aec1fa9c7867e85df23f67c9a0\"\u003e\u003cimg src=\"https://img.shields.io/badge/3430251fef-fix-green\" alt=\"fix - 3430251fef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ei18n flags leaking on errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1aeebbe3048b5aa612dd0a5448de9883ed51e7e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/1aeebbe304-fix-green\" alt=\"fix - 1aeebbe304\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect ngSkipHydration on components with projectable nodes in LContainers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9e38ed7d5773a9193ba07afdba3f7a9f2fe02d18\"\u003e\u003cimg src=\"https://img.shields.io/badge/9e38ed7d57-fix-green\" alt=\"fix - 9e38ed7d57\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitizer typings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7a05a9a71a5ab75042ec5560c01526de6e61e062\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a05a9a71a-fix-green\" alt=\"fix - 7a05a9a71a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c37f6ca42f263353cb9563fa90d7b31d3c7837ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/c37f6ca42f-fix-green\" alt=\"fix - c37f6ca42f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ng-let expression value in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/03ad53863bf3c368f0f02a4322d4141e8f70f674\"\u003e\u003cimg src=\"https://img.shields.io/badge/03ad53863b-fix-green\" alt=\"fix - 03ad53863b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprohibit concurrent submits in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-13)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e1c6553e97d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/629905d537f59dc3c264c49f6347e3599dea0215\"\u003e629905d537\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b7192f4410d055191ac9b15bff57d1d0b9a644f\"\u003e0b7192f441\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eforward BEFORE_APP_SERIALIZED errors to ErrorHandler\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.22 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/83a640516f7b1fff4dfb0fd0ed8b19876bdb00c4\"\u003e83a640516f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/24a0103a9898b1547f5d1f57314e2bb6545a2c7a\"\u003e24a0103a98\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8569db88758d189544b03ec4474fd5334ff29346\"\u003e8569db8875\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/837a7102172502dd3d92793ec15b2d4e533a573d\"\u003e837a710217\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68469\"\u003e#68469\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.21 (2026-05-12)\u003c/h1\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f584840e2e50f751397cf3fad5258e18e857427e\"\u003ef584840e2e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eallowedHosts\u003c/code\u003e option to \u003ccode\u003erenderModule\u003c/code\u003e and \u003ccode\u003erenderApplication\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.12 (2026-05-08)\u003c/h1\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed\"\u003e8ebae1de33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow service with factory on abstract classes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5\"\u003e6f525245cd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc\"\u003e0f2160c410\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove compiler import from safe optional chaining migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.13/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/animations\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.11\u0026new-version=21.2.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/cobbler/cobbler-web/pull/555","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobbler%2Fcobbler-web/issues/555","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/555/packages"}}]}