{"id":238,"name":"@angular/router","ecosystem":"npm","repository_url":"https://github.com/angular/angular","issues_count":4842,"created_at":"2025-06-06T15:01:33.317Z","updated_at":"2025-06-06T15:01:33.317Z","purl":"pkg:npm/@angular/router","metadata":{"id":810676,"name":"@angular/router","ecosystem":"npm","description":"Angular - the routing library","homepage":"https://github.com/angular/angular/tree/main/packages/router","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/angular/angular","keywords_array":["angular","router"],"namespace":"angular","versions_count":930,"first_release_published_at":"2016-04-28T04:24:12.343Z","latest_release_published_at":"2025-06-04T19:20:08.587Z","latest_release_number":"20.0.1","last_synced_at":"2025-06-04T21:25:30.441Z","created_at":"2022-04-07T13:32:48.520Z","updated_at":"2025-06-04T21:25:55.877Z","registry_url":"https://www.npmjs.com/package/@angular/router","install_command":"npm install @angular/router","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"pre-release":"0.1.0","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","v19-lts":"19.2.14","next":"20.1.0-next.0","latest":"20.0.1"}},"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-06-03T09:41:54.000Z","size":543320,"stargazers_count":98010,"open_issues_count":1602,"forks_count":26261,"subscribers_count":3006,"default_branch":"main","last_synced_at":"2025-06-03T09:55:15.631Z","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,"zenodo":null}},"created_at":"2014-09-18T16:12:01.000Z","updated_at":"2025-06-03T09:41:58.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":1107,"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","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258020278,"owners_count":22637703,"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":"2025-05-31T09:50:10.225Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/angular","funding_links":[],"total_stars":302121,"followers":7676,"following":0,"created_at":"2022-11-02T16:19:07.284Z","updated_at":"2025-05-31T09:50:10.226Z","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":"20.0.0","sha":"40e2b5b4d13792ed7c46a1d22afcf6c12ac9c679","kind":"commit","published_at":"2025-05-28T13:52:44.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0","html_url":"https://github.com/angular/angular/releases/tag/20.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0/manifests"},{"name":"19.2.14","sha":"cb1b1675c7a21558c1059440d9d965b7cc840bfd","kind":"commit","published_at":"2025-05-28T13:32:02.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.14","html_url":"https://github.com/angular/angular/releases/tag/19.2.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.14/manifests"},{"name":"20.0.0-rc.3","sha":"0502cf26c5a9f8169ada37db1f58c4db11d2d0dc","kind":"commit","published_at":"2025-05-27T22:59:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-rc.3","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-rc.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-rc.3/manifests"},{"name":"19.2.13","sha":"517cde4e4f60821449256cdf0bb80e79a5c117ba","kind":"commit","published_at":"2025-05-23T17:22:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.13","html_url":"https://github.com/angular/angular/releases/tag/19.2.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.13/manifests"},{"name":"zone.js-0.15.1","sha":"e33444e2368926c4a7c00b7ab5277691c758b506","kind":"commit","published_at":"2025-05-22T21:53:15.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/zone.js-0.15.1","html_url":"https://github.com/angular/angular/releases/tag/zone.js-0.15.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.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/zone.js-0.15.1/manifests"},{"name":"20.0.0-rc.2","sha":"09f79e0a4637ed08b9ab0291c5df2a7a81dd390b","kind":"commit","published_at":"2025-05-21T20:05:34.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-rc.2","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-rc.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-rc.2/manifests"},{"name":"19.2.12","sha":"ac76549d07770ad239f944ed529299624f7ba204","kind":"commit","published_at":"2025-05-21T19:49:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.12","html_url":"https://github.com/angular/angular/releases/tag/19.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.12/manifests"},{"name":"20.0.0-rc.1","sha":"571871cecb32506704a6446c0274aea524a9829f","kind":"commit","published_at":"2025-05-15T16:38:53.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-rc.1","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-rc.1/manifests"},{"name":"19.2.11","sha":"ae503b728260d97bbae4a306b47f881b6bf8f4b0","kind":"commit","published_at":"2025-05-15T15:26:28.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.11","html_url":"https://github.com/angular/angular/releases/tag/19.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.11/manifests"},{"name":"20.0.0-rc.0","sha":"ea87eb48ecc24f2cae2d1515cdafc9ae03224f58","kind":"commit","published_at":"2025-05-07T17:52:29.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-rc.0/manifests"},{"name":"19.2.10","sha":"428248819559c942da3853b58e9f77ba36e34e3f","kind":"commit","published_at":"2025-05-07T16:22:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.10","html_url":"https://github.com/angular/angular/releases/tag/19.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.10/manifests"},{"name":"20.0.0-next.9","sha":"f4d60fffb17319796224f8f0887d1cba0572eb8c","kind":"commit","published_at":"2025-04-30T17:38:35.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.9","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.9/manifests"},{"name":"19.2.9","sha":"a2eaea04261f288950efdb554604e6acc7f4ed1e","kind":"commit","published_at":"2025-04-30T17:27:37.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.9","html_url":"https://github.com/angular/angular/releases/tag/19.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.9/manifests"},{"name":"20.0.0-next.8","sha":"fd8f5c69f1222110e22029e6dd8ec5a02aac6cd9","kind":"commit","published_at":"2025-04-23T15:18:06.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.8","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.8/manifests"},{"name":"19.2.8","sha":"4d7eb054b65fae770f366730ab55e77c39d84d01","kind":"commit","published_at":"2025-04-23T15:11:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.8","html_url":"https://github.com/angular/angular/releases/tag/19.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.8/manifests"},{"name":"20.0.0-next.7","sha":"c7e9cb9b36ebf072c0f40cf87c7eee49b8b6ec43","kind":"commit","published_at":"2025-04-16T21:03:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.7","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.7/manifests"},{"name":"19.2.7","sha":"2c1f348478df179c98f0b0c00c164365e77af195","kind":"commit","published_at":"2025-04-16T20:41:50.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.7","html_url":"https://github.com/angular/angular/releases/tag/19.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.7/manifests"},{"name":"20.0.0-next.6","sha":"ea58402b1287ab964822331d6bf94f5c6ab71608","kind":"commit","published_at":"2025-04-09T20:02:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.6","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.6/manifests"},{"name":"19.2.6","sha":"54f9269fad8e719d8095b6fa93fd56f7f3de2aff","kind":"commit","published_at":"2025-04-09T19:25:57.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.6","html_url":"https://github.com/angular/angular/releases/tag/19.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.6/manifests"},{"name":"20.0.0-next.5","sha":"1c6d5b2e2311b4f94a0ced2a5ed5b63839480a22","kind":"commit","published_at":"2025-04-02T19:05:23.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.5","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.5/manifests"},{"name":"19.2.5","sha":"5b76da59c696c98c17db032e3abc0ff2e2e60b92","kind":"commit","published_at":"2025-04-02T18:53:11.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.5","html_url":"https://github.com/angular/angular/releases/tag/19.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.5/manifests"},{"name":"20.0.0-next.4","sha":"40bd57646a2ea6504877a623743c46768eb6fa1b","kind":"commit","published_at":"2025-03-27T03:32:49.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.4","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.4/manifests"},{"name":"19.2.4","sha":"4c16eae925d57b543eb2954cb98756c0f3dd13f4","kind":"commit","published_at":"2025-03-27T03:26:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.4","html_url":"https://github.com/angular/angular/releases/tag/19.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.4/manifests"},{"name":"20.0.0-next.3","sha":"2091a272170f01e36794bff3b6e53d01a0841ebd","kind":"commit","published_at":"2025-03-19T19:31:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.3/manifests"},{"name":"19.2.3","sha":"2be008986aa74c7272d7db51ea61f7c4903819ca","kind":"commit","published_at":"2025-03-19T19:23:56.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.3","html_url":"https://github.com/angular/angular/releases/tag/19.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.3/manifests"},{"name":"20.0.0-next.2","sha":"bc472b669c3025cb90b48285495de1f462e6729c","kind":"commit","published_at":"2025-03-12T16:52:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.2/manifests"},{"name":"19.2.2","sha":"7529512e7b134b86ab689a16cb65a6176d0184f3","kind":"commit","published_at":"2025-03-12T16:42:52.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.2","html_url":"https://github.com/angular/angular/releases/tag/19.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.2/manifests"},{"name":"20.0.0-next.1","sha":"c492db4ac93f142d7dcedc9809138060e8311691","kind":"commit","published_at":"2025-03-05T19:20:51.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.1/manifests"},{"name":"19.2.1","sha":"d9e022dae2e647682138a7b449a94a92c9f2115f","kind":"commit","published_at":"2025-03-05T19:12:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.1","html_url":"https://github.com/angular/angular/releases/tag/19.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.1/manifests"},{"name":"20.0.0-next.0","sha":"ab2ee22c3d1a80b7ffe2c74c988dbd2503305b70","kind":"commit","published_at":"2025-02-26T21:52:39.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/20.0.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/20.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/20.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/20.0.0-next.0/manifests"},{"name":"19.2.0","sha":"8e9463bffb74aa63a0c2f702f767f38204dc761b","kind":"commit","published_at":"2025-02-26T21:10:05.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.0","html_url":"https://github.com/angular/angular/releases/tag/19.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.0/manifests"},{"name":"19.1.8","sha":"a8a35343bcb6b5bd385ebb469b10b93648ea1d24","kind":"commit","published_at":"2025-02-26T19:11:04.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.8","html_url":"https://github.com/angular/angular/releases/tag/19.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.8/manifests"},{"name":"19.2.0-rc.0","sha":"11ea0a0f7d3eec9df140d6133a5b8f301314b4d6","kind":"commit","published_at":"2025-02-19T19:02:38.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.0-rc.0","html_url":"https://github.com/angular/angular/releases/tag/19.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/19.2.0-rc.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.0-rc.0/manifests"},{"name":"19.1.7","sha":"5a66f6072dc1a03489deecf6a2125109bd56fe56","kind":"commit","published_at":"2025-02-19T18:43:00.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.7","html_url":"https://github.com/angular/angular/releases/tag/19.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.7/manifests"},{"name":"19.2.0-next.3","sha":"fb39fe96501e39dad051da99114143168ccaebe3","kind":"commit","published_at":"2025-02-13T16:30:30.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.0-next.3","html_url":"https://github.com/angular/angular/releases/tag/19.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/19.2.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.0-next.3/manifests"},{"name":"19.1.6","sha":"20df2cd108df94b8b3969bd4d9af482219fb1c3f","kind":"commit","published_at":"2025-02-12T20:02:25.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.6","html_url":"https://github.com/angular/angular/releases/tag/19.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.6/manifests"},{"name":"19.2.0-next.2","sha":"a7f20eb8634d75a105f4ee3c39d6d364383c061e","kind":"commit","published_at":"2025-02-06T20:50:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.0-next.2","html_url":"https://github.com/angular/angular/releases/tag/19.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/19.2.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.0-next.2/manifests"},{"name":"19.1.5","sha":"27c39f5a8a6cd7214960e9a36dbc90f467d29bae","kind":"commit","published_at":"2025-02-06T20:32:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.5","html_url":"https://github.com/angular/angular/releases/tag/19.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.5/manifests"},{"name":"19.2.0-next.1","sha":"9723f034c3c2ccd71cf0c53d6226d120ce652ae8","kind":"commit","published_at":"2025-01-29T23:17:55.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.0-next.1","html_url":"https://github.com/angular/angular/releases/tag/19.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/19.2.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.0-next.1/manifests"},{"name":"19.1.4","sha":"5d89ffc95960ea8b8714cd971ff46df358ff976d","kind":"commit","published_at":"2025-01-29T23:08:33.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.4","html_url":"https://github.com/angular/angular/releases/tag/19.1.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.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.4/manifests"},{"name":"19.2.0-next.0","sha":"2ed633a2599704d5956a34c59c711e2e9db534f0","kind":"commit","published_at":"2025-01-22T19:49:18.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.2.0-next.0","html_url":"https://github.com/angular/angular/releases/tag/19.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/19.2.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.2.0-next.0/manifests"},{"name":"19.1.3","sha":"66d07e7baf7483715edacec42cff4ea74b2b4f0a","kind":"commit","published_at":"2025-01-22T19:41:16.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.3","html_url":"https://github.com/angular/angular/releases/tag/19.1.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.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.3/manifests"},{"name":"19.1.2","sha":"2ec826dfdce8d8b57ffca58c018ab7e3082c28e6","kind":"commit","published_at":"2025-01-20T14:10:32.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.2","html_url":"https://github.com/angular/angular/releases/tag/19.1.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.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.2/manifests"},{"name":"19.1.1","sha":"5c9d739a056b4049f7234f23ceeb59e8842105d0","kind":"commit","published_at":"2025-01-16T12:16:48.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.1","html_url":"https://github.com/angular/angular/releases/tag/19.1.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.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.1/manifests"},{"name":"19.1.0","sha":"e36e812fd05fd17ee19e3a073c64ef7d55c177b7","kind":"commit","published_at":"2025-01-15T19:57:40.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.1.0","html_url":"https://github.com/angular/angular/releases/tag/19.1.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","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.1.0/manifests"},{"name":"19.0.7","sha":"004b53a403dc1d7bd2d23ed1a4462a16f5c96982","kind":"commit","published_at":"2025-01-15T19:45:20.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/19.0.7","html_url":"https://github.com/angular/angular/releases/tag/19.0.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.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/19.0.7/manifests"},{"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"}]},"repo_metadata_updated_at":"2025-06-04T21:25:55.877Z","dependent_packages_count":17318,"downloads":14330475,"downloads_period":"last-month","dependent_repos_count":737101,"rankings":{"downloads":0.08848423367943989,"dependent_repos_count":0.04295766828630872,"dependent_packages_count":0.006736219080112198,"stargazers_count":0.05782881073595011,"forks_count":0.32556535797346836,"docker_downloads_count":0.2016298795843753,"average":0.12053369488994242},"purl":"pkg:npm/%40angular/router","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@angular/router","docker_dependents_count":659,"docker_downloads_count":316962902,"usage_url":"https://repos.ecosyste.ms/usage/npm/@angular/router","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@angular/router/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Frouter/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Frouter/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Frouter/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Frouter/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:46:01.239Z","updated_at":"2022-11-10T10:46:01.239Z","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:46:01.241Z","updated_at":"2022-11-10T10:46:01.241Z","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":747,"unique_repositories_count_past_30_days":42,"recent_issues":[{"uuid":"4585499672","node_id":"PR_kwDOHbBpFs7igtFc","number":371,"state":"closed","title":"chore(deps): bump @angular/router from 13.3.11 to 22.0.0","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-10T22:36:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T03:27:05.000Z","updated_at":"2026-06-10T22:36:45.000Z","time_to_close":587378,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/router","old_version":"13.3.11","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 13.3.11 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/router'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/router/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/router/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/router'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/76a8c877251443bfd77ca1265034a6da0509b2e1\"\u003e\u003ccode\u003e76a8c87\u003c/code\u003e\u003c/a\u003e refactor(core): Split the ng global into internal and external objects\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/3e5ab7b470b06b63410649700b6a999e381cbb85\"\u003e\u003ccode\u003e3e5ab7b\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7117d690386b079c18b435545dab96fc183305\"\u003e\u003ccode\u003e3e7117d\u003c/code\u003e\u003c/a\u003e fix(router): Add strict typing on 'getResolvedTitleForRoute'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e9d1c7ed563c349330a2c842452a5db4a8046f92\"\u003e\u003ccode\u003ee9d1c7e\u003c/code\u003e\u003c/a\u003e refactor(router): Move target RouterState creation before 'blocking' stage\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/8a7f955f0fd7484cfc23e6e3fe91453973908f1f\"\u003e\u003ccode\u003e8a7f955\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c84642ac16bf3588c071bbdcc684daa8d4e494b3\"\u003e\u003ccode\u003ec84642a\u003c/code\u003e\u003c/a\u003e feat(router): add unmatchedInputBehavior option to componentInputBinding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc637a304fb7af8dae4bc176f8f8f7641cada3b7\"\u003e\u003ccode\u003ebc637a3\u003c/code\u003e\u003c/a\u003e refactor(core): add support for default exports to \u003ccode\u003einjectAsync\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/router\"\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/router\u0026package-manager=npm_and_yarn\u0026previous-version=13.3.11\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/bettermusic/studio/pull/371","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bettermusic%2Fstudio/issues/371","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/371/packages"},{"uuid":"4585368760","node_id":"PR_kwDOSa9ELM7igRyq","number":19,"state":"open","title":"chore(front): bump the angular-updates group in /front with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T02:54:05.000Z","updated_at":"2026-06-11T06:00:41.689Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(front): bump","group_name":"angular-updates","update_count":9,"packages":[{"name":"@angular/common","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.13","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.13","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":"/front","ecosystem":"npm"},"body":"Bumps the angular-updates group in /front with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.15` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.15` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.15` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.15` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.15` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.15` | `22.0.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.13` | `22.0.0` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.13` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.15` | `22.0.0` |\n\nUpdates `@angular/common` 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/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.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/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.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/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 --\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/3ad9eb0217b519d756392bf8d0a471cb7a6b80d3\"\u003e\u003ccode\u003e3ad9eb0\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): harden inherit definition feature against polluted prototy...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f3c924926fa2da7ab144fd4b3439b6b834005dee\"\u003e\u003ccode\u003ef3c9249\u003c/code\u003e\u003c/a\u003e fix(core): harden inherit definition feature against polluted prototypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9d9855a41597c116ca102e672867047ddf7b4545\"\u003e\u003ccode\u003e9d9855a\u003c/code\u003e\u003c/a\u003e fix(migrations): Make the safe optional chaining idempotent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5f14b82af8047f1f77c6bea839b2347cdaaa0df5\"\u003e\u003ccode\u003e5f14b82\u003c/code\u003e\u003c/a\u003e refactor(core): Update webmcp support to use \u003ccode\u003edocument.modelContext\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6fee7aaf89be8d67dd7612af410d39cde0c00020\"\u003e\u003ccode\u003e6fee7aa\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/e3e25b5a535c3e9cc08fcd2f9f85b78b8456a9f8\"\u003e\u003ccode\u003ee3e25b5\u003c/code\u003e\u003c/a\u003e fix(core): use Object.create(null) for LOCALE_DATA as a hardening measure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d88b79651824453ca97489082fe5f7e9d073cacc\"\u003e\u003ccode\u003ed88b796\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/394c9983455368511b1d3822ed010f6f3eee9e8a\"\u003e\u003ccode\u003e394c998\u003c/code\u003e\u003c/a\u003e refactor(core): replace the type of the getDirectiveMetadata property of Exte...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/76a8c877251443bfd77ca1265034a6da0509b2e1\"\u003e\u003ccode\u003e76a8c87\u003c/code\u003e\u003c/a\u003e refactor(core): Split the ng global into internal and external objects\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/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.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/forms'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/forms/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/forms/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/forms'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 b...\n\n_Description has been truncated_","html_url":"https://github.com/LeninTF/Trazzo/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeninTF%2FTrazzo/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"4583964774","node_id":"PR_kwDOIELrN87ibpVj","number":19,"state":"open","title":"Bump @angular/router from 21.2.16 to 22.0.0","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-06-03T21:58:35.000Z","updated_at":"2026-06-03T21:59:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/router","old_version":"21.2.16","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 21.2.16 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/router'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/router/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/router/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/router'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/76a8c877251443bfd77ca1265034a6da0509b2e1\"\u003e\u003ccode\u003e76a8c87\u003c/code\u003e\u003c/a\u003e refactor(core): Split the ng global into internal and external objects\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/3e5ab7b470b06b63410649700b6a999e381cbb85\"\u003e\u003ccode\u003e3e5ab7b\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7117d690386b079c18b435545dab96fc183305\"\u003e\u003ccode\u003e3e7117d\u003c/code\u003e\u003c/a\u003e fix(router): Add strict typing on 'getResolvedTitleForRoute'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e9d1c7ed563c349330a2c842452a5db4a8046f92\"\u003e\u003ccode\u003ee9d1c7e\u003c/code\u003e\u003c/a\u003e refactor(router): Move target RouterState creation before 'blocking' stage\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/8a7f955f0fd7484cfc23e6e3fe91453973908f1f\"\u003e\u003ccode\u003e8a7f955\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c84642ac16bf3588c071bbdcc684daa8d4e494b3\"\u003e\u003ccode\u003ec84642a\u003c/code\u003e\u003c/a\u003e feat(router): add unmatchedInputBehavior option to componentInputBinding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc637a304fb7af8dae4bc176f8f8f7641cada3b7\"\u003e\u003ccode\u003ebc637a3\u003c/code\u003e\u003c/a\u003e refactor(core): add support for default exports to \u003ccode\u003einjectAsync\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/router\"\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/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.16\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/pasaperez/pasaperez.github.io/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasaperez%2Fpasaperez.github.io/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"4583521371","node_id":"PR_kwDOSwWr0M7iaJxr","number":7,"state":"closed","title":"chore(deps): bump @angular/router from 21.2.15 to 22.0.0","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-03T21:09:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T20:47:36.000Z","updated_at":"2026-06-03T21:09:55.000Z","time_to_close":1297,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/router","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) 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/router'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/router/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/router/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/router'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/76a8c877251443bfd77ca1265034a6da0509b2e1\"\u003e\u003ccode\u003e76a8c87\u003c/code\u003e\u003c/a\u003e refactor(core): Split the ng global into internal and external objects\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/3e5ab7b470b06b63410649700b6a999e381cbb85\"\u003e\u003ccode\u003e3e5ab7b\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7117d690386b079c18b435545dab96fc183305\"\u003e\u003ccode\u003e3e7117d\u003c/code\u003e\u003c/a\u003e fix(router): Add strict typing on 'getResolvedTitleForRoute'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e9d1c7ed563c349330a2c842452a5db4a8046f92\"\u003e\u003ccode\u003ee9d1c7e\u003c/code\u003e\u003c/a\u003e refactor(router): Move target RouterState creation before 'blocking' stage\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/8a7f955f0fd7484cfc23e6e3fe91453973908f1f\"\u003e\u003ccode\u003e8a7f955\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c84642ac16bf3588c071bbdcc684daa8d4e494b3\"\u003e\u003ccode\u003ec84642a\u003c/code\u003e\u003c/a\u003e feat(router): add unmatchedInputBehavior option to componentInputBinding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc637a304fb7af8dae4bc176f8f8f7641cada3b7\"\u003e\u003ccode\u003ebc637a3\u003c/code\u003e\u003c/a\u003e refactor(core): add support for default exports to \u003ccode\u003einjectAsync\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/router\"\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/router\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/skynet2/diff/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/skynet2%2Fdiff/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/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":"4566897367","node_id":"PR_kwDOBKnnxc7hjkR_","number":7938,"state":"closed","title":"chore(deps): bump @angular/router from 21.2.14 to 21.2.15","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-02T12:13:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T22:39:24.000Z","updated_at":"2026-06-02T12:13:51.000Z","time_to_close":48857,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/router","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) 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/router'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/router/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/router/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/router/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/router/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/router/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/router/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/router'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/router\"\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/router\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/super-productivity/super-productivity/pull/7938","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/super-productivity%2Fsuper-productivity/issues/7938","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7938/packages"},{"uuid":"4566018871","node_id":"PR_kwDOM-5YF87hgqoO","number":431,"state":"closed","title":"chore(deps): bump @angular/router from 20.3.12 to 21.2.15","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-08T06:08:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T20:02:26.000Z","updated_at":"2026-06-08T06:08:03.000Z","time_to_close":554735,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/router","old_version":"20.3.12","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 20.3.12 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/router'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/router/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/router/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/router/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/router/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/router/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/router/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/router'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/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\u003e\u003ca href=\"https://github.com/angular/angular/commit/161d98e7f2b825a5df7dc93328b3a41d0a6fde4e\"\u003e\u003ccode\u003e161d98e\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fbe080f829a677610d6bc8ab68af5f4e969f8422\"\u003e\u003ccode\u003efbe080f\u003c/code\u003e\u003c/a\u003e docs(router): Fix method name for retrieving stored handles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1be52ad880933139852ca785a5bf19098d8d6594\"\u003e\u003ccode\u003e1be52ad\u003c/code\u003e\u003c/a\u003e docs: Align Router API docs with inject based DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa4eff36cb288c4d16aa96bfeedaefdd211f74c2\"\u003e\u003ccode\u003efa4eff3\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Validate case-sensitive API symbol links in \u003ccode\u003e@link\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/580212c995751c4bf4ce8a49df4167498743e0ea\"\u003e\u003ccode\u003e580212c\u003c/code\u003e\u003c/a\u003e fix(router): restore internal URL on popstate when \u003ccode\u003ebrowserUrl\u003c/code\u003e is used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/684e9fd53daacb9e910f42d98c6017f9e5cb4180\"\u003e\u003ccode\u003e684e9fd\u003c/code\u003e\u003c/a\u003e fix(router): normalize multiple leading slashes in URL parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0960592d3d4fad110d5598144fda9f2488520826\"\u003e\u003ccode\u003e0960592\u003c/code\u003e\u003c/a\u003e fix(router): pass outlet context to split to fix empty path named outlets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a21be36e15a6d9cf21722f9f6a31dad9380037e9\"\u003e\u003ccode\u003ea21be36\u003c/code\u003e\u003c/a\u003e refactor: prepare for required \u003ccode\u003echangeDetection\u003c/code\u003e prop on G3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/84adb2fb3b3c0fa33f2dce44736d0ce130c44349\"\u003e\u003ccode\u003e84adb2f\u003c/code\u003e\u003c/a\u003e refactor(router): Permit deferring commit of traversal navigations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/router\"\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/router\u0026package-manager=npm_and_yarn\u0026previous-version=20.3.12\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/Mauritz-Langer/Wasserball-Tabelle/pull/431","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mauritz-Langer%2FWasserball-Tabelle/issues/431","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/431/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":"4560650675","node_id":"PR_kwDOSSR3Nc7hPKCr","number":20,"state":"open","title":"Bump the angular group with 11 updates","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-06-01T05:42:29.000Z","updated_at":"2026-06-01T05:43:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":11,"packages":[{"name":"@angular/common","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-server","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/ssr","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/build","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.14` | `21.2.15` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.14` | `21.2.15` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.14` | `21.2.15` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.14` | `21.2.15` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.14` | `21.2.15` |\n| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `21.2.14` | `21.2.15` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.14` | `21.2.15` |\n| [@angular/ssr](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.13` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.13` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.14` | `21.2.15` |\n\nUpdates `@angular/common` 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/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\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.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.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/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\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.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\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.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/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\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.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\u003eSee full diff 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.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/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\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.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/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.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/platform-browser'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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser'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/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003ccode\u003ee6fe77c\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/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-server` 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/platform-server'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/platform-server/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/platform-server/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/angu...\n\n_Description has been truncated_","html_url":"https://github.com/defalque/better-drawer/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/defalque%2Fbetter-drawer/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4559759452","node_id":"PR_kwDOBWC-FM7hMS2T","number":1638,"state":"open","title":"build(deps): bump the angular group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":["berviantoleo"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T01:50:04.000Z","updated_at":"2026-06-01T02:21:31.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":14,"packages":[{"name":"@angular/common","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/architect","old_version":"0.2102.9","new_version":"0.2102.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/build-angular","old_version":"21.2.9","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/schematics","old_version":"21.2.9","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.9","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/language-service","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.11` | `21.2.15` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.11` | `21.2.15` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.11` | `21.2.15` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.11` | `21.2.15` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.11` | `21.2.15` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.11` | `21.2.15` |\n| [@angular-devkit/architect](https://github.com/angular/angular-cli) | `0.2102.9` | `0.2102.13` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `21.2.9` | `21.2.13` |\n| [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `21.2.9` | `21.2.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.9` | `21.2.13` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.11` | `21.2.15` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.11` | `21.2.15` |\n| [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `21.2.11` | `21.2.15` |\n\n\nUpdates `@angular/common` from 21.2.11 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\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.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/core` from 21.2.11 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.11 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/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\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/forms'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/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\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/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.11 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/platform-browser'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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser'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/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003ccode\u003ee6fe77c\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/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.11 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/platform-browser-dynamic'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/platform-browser-dynamic/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/platform-browser-dynamic/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/platform-browser-dynamic/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/platform-browser-dynamic/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/platform-browser-dynamic/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/platform-browser-dynamic/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\"...\n\n_Description has been truncated_","html_url":"https://github.com/bervProject/belitung-information-center/pull/1638","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bervProject%2Fbelitung-information-center/issues/1638","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1638/packages"},{"uuid":"4549627811","node_id":"PR_kwDOSHYezc7gtCuh","number":16,"state":"closed","title":"build(deps): bump @angular/router from 21.2.11 to 21.2.15","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-09T20:07:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-29T15:30:12.000Z","updated_at":"2026-06-09T20:07:47.000Z","time_to_close":967045,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"@angular/router","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 21.2.11 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/router'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/router/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/router/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/router/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/router/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/router/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/router/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/router'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/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\u003e\u003ca href=\"https://github.com/angular/angular/commit/161d98e7f2b825a5df7dc93328b3a41d0a6fde4e\"\u003e\u003ccode\u003e161d98e\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/router\"\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/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.11\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/ohmyopensource/ohmyuniversity-web/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohmyopensource%2Fohmyuniversity-web/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"4542027076","node_id":"PR_kwDOOEF4jc7gUGac","number":49,"state":"open","title":"Bump the angular-core group across 1 directory with 10 updates","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-28T16:24:54.000Z","updated_at":"2026-05-28T16:25:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular-core","update_count":10,"packages":[{"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.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.3","new_version":"21.2.13","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":null,"ecosystem":"npm"},"body":"Bumps the angular-core group with 10 updates in the /frontend directory:\n\n| Package | From | To |\n| --- | --- | --- |\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.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.13` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.5` | `21.2.14` |\n\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\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/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\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/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.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-dynamic'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-gr...\n\n_Description has been truncated_","html_url":"https://github.com/imoroc/BidCo/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/imoroc%2FBidCo/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/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":"4528160700","node_id":"PR_kwDOISeuI87fm-ow","number":504,"state":"closed","title":"Bump @angular/router from 21.2.12 to 21.2.14 in /ui","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-27T11:29:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T23:18:07.000Z","updated_at":"2026-05-27T11:29:38.000Z","time_to_close":43889,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/ui","ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 21.2.12 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\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.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/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.12\u0026new-version=21.2.14)](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/LearningHouseService/learninghouse/pull/504","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearningHouseService%2Flearninghouse/issues/504","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/504/packages"},{"uuid":"4522310804","node_id":"PR_kwDOSbNVRM7fT70z","number":128,"state":"open","title":"chore(deps)(deps): bump the minor-and-patch group across 1 directory with 51 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-26T07:30:09.000Z","updated_at":"2026-05-26T07:30:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"minor-and-patch","update_count":51,"packages":[{"name":"@angular/common","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@modelcontextprotocol/sdk","old_version":"1.26.0","new_version":"1.29.0","repository_url":"https://github.com/modelcontextprotocol/typescript-sdk"},{"name":"lit","old_version":"3.3.2","new_version":"3.3.3","repository_url":"https://github.com/lit/lit"},{"name":"react","old_version":"19.0.0","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.0.0","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.0.0","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react-dom","old_version":"19.0.0","new_version":"19.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"subscript","old_version":"10.3.3","new_version":"10.4.15","repository_url":"https://github.com/dy/subscript"},{"name":"zod","old_version":"4.3.6","new_version":"4.4.3","repository_url":"https://github.com/colinhacks/zod"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@babel/core","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-react","old_version":"7.28.5","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@cypress/webpack-dev-server","old_version":"5.6.0","new_version":"5.6.1","repository_url":"https://github.com/cypress-io/cypress"},{"name":"@nx/angular","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/cypress","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/eslint","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/eslint-plugin","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/js","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/react","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/vite","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/vitest","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/web","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/workspace","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@swc-node/register","old_version":"1.9.2","new_version":"1.11.1","repository_url":"https://github.com/swc-project/swc-node"},{"name":"@swc/core","old_version":"1.5.29","new_version":"1.15.40","repository_url":"https://github.com/swc-project/swc"},{"name":"@testing-library/dom","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/testing-library/dom-testing-library"},{"name":"@testing-library/react","old_version":"16.1.0","new_version":"16.3.2","repository_url":"https://github.com/testing-library/react-testing-library"},{"name":"@typescript-eslint/utils","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"cypress","old_version":"15.14.1","new_version":"15.15.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"czg","old_version":"1.13.0","new_version":"1.13.1","repository_url":"https://github.com/Zhengqbbb/cz-git"},{"name":"eslint-plugin-import","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/import-js/eslint-plugin-import"},{"name":"eslint-plugin-jsx-a11y","old_version":"6.10.1","new_version":"6.10.2","repository_url":"https://github.com/jsx-eslint/eslint-plugin-jsx-a11y"},{"name":"eslint-plugin-react","old_version":"7.35.0","new_version":"7.37.5","repository_url":"https://github.com/jsx-eslint/eslint-plugin-react"},{"name":"jiti","old_version":"2.4.2","new_version":"2.7.0","repository_url":"https://github.com/unjs/jiti"},{"name":"nx","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"postcss","old_version":"8.5.14","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"postcss-url","old_version":"10.1.3","new_version":"10.1.4","repository_url":"https://github.com/postcss/postcss-url"},{"name":"prettier","old_version":"3.6.2","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"react-router","old_version":"7.14.2","new_version":"7.15.1","repository_url":"https://github.com/remix-run/react-router"},{"name":"swc-loader","old_version":"0.1.15","new_version":"0.2.7","repository_url":"https://github.com/swc-project/pkgs"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.3","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript-eslint","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"verdaccio","old_version":"6.5.2","new_version":"6.7.2","repository_url":"https://github.com/verdaccio/verdaccio"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 50 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `20.3.9` | `20.3.21` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `20.3.9` | `20.3.21` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `20.3.9` | `20.3.21` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `20.3.9` | `20.3.21` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `20.3.9` | `20.3.21` |\n| [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) | `1.26.0` | `1.29.0` |\n| [lit](https://github.com/lit/lit/tree/HEAD/packages/lit) | `3.3.2` | `3.3.3` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.0.0` | `19.2.6` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.0.0` | `19.2.15` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.0.0` | `19.2.6` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.0.0` | `19.2.3` |\n| [subscript](https://github.com/dy/subscript) | `10.3.3` | `10.4.15` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.29.0` | `7.29.7` |\n| [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) | `7.28.5` | `7.29.7` |\n| [@cypress/webpack-dev-server](https://github.com/cypress-io/cypress) | `5.6.0` | `5.6.1` |\n| [@nx/angular](https://github.com/nrwl/nx/tree/HEAD/packages/angular) | `22.1.3` | `22.7.4` |\n| [@nx/cypress](https://github.com/nrwl/nx/tree/HEAD/packages/cypress) | `22.1.3` | `22.7.4` |\n| [@nx/eslint](https://github.com/nrwl/nx/tree/HEAD/packages/eslint) | `22.1.3` | `22.7.4` |\n| [@nx/eslint-plugin](https://github.com/nrwl/nx/tree/HEAD/packages/eslint-plugin) | `22.1.3` | `22.7.4` |\n| [@nx/js](https://github.com/nrwl/nx/tree/HEAD/packages/js) | `22.1.3` | `22.7.4` |\n| [@nx/react](https://github.com/nrwl/nx/tree/HEAD/packages/react) | `22.1.3` | `22.7.4` |\n| [@nx/vite](https://github.com/nrwl/nx/tree/HEAD/packages/vite) | `22.1.3` | `22.7.4` |\n| [@nx/vitest](https://github.com/nrwl/nx/tree/HEAD/packages/vitest) | `22.1.3` | `22.7.4` |\n| [@nx/web](https://github.com/nrwl/nx/tree/HEAD/packages/web) | `22.1.3` | `22.7.4` |\n| [@nx/workspace](https://github.com/nrwl/nx/tree/HEAD/packages/workspace) | `22.1.3` | `22.7.4` |\n| [@swc-node/register](https://github.com/swc-project/swc-node) | `1.9.2` | `1.11.1` |\n| [@swc/core](https://github.com/swc-project/swc/tree/HEAD/packages/core) | `1.5.29` | `1.15.40` |\n| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | `10.4.0` | `10.4.1` |\n| [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.1.0` | `16.3.2` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.59.1` | `8.60.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.5` | `4.1.7` |\n| [cypress](https://github.com/cypress-io/cypress) | `15.14.1` | `15.15.0` |\n| [czg](https://github.com/Zhengqbbb/cz-git/tree/HEAD/packages/cli) | `1.13.0` | `1.13.1` |\n| [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) | `2.31.0` | `2.32.0` |\n| [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y) | `6.10.1` | `6.10.2` |\n| [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) | `7.35.0` | `7.37.5` |\n| [jiti](https://github.com/unjs/jiti) | `2.4.2` | `2.7.0` |\n| [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) | `22.1.3` | `22.7.4` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.14` | `8.5.15` |\n| [postcss-url](https://github.com/postcss/postcss-url) | `10.1.3` | `10.1.4` |\n| [prettier](https://github.com/prettier/prettier) | `3.6.2` | `3.8.3` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.14.2` | `7.15.1` |\n| [swc-loader](https://github.com/swc-project/pkgs) | `0.1.15` | `0.2.7` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.1` | `8.60.0` |\n| [verdaccio](https://github.com/verdaccio/verdaccio) | `6.5.2` | `6.7.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n\n\nUpdates `@angular/common` from 20.3.9 to 20.3.21\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.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/0276479e7d0e280e0f8d26fa567d3b7aa97a516f\"\u003e\u003ccode\u003e0276479\u003c/code\u003e\u003c/a\u003e fix(http): prevent XSRF token leakage to protocol-relative URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a8c577d3af3e16074edb1d6660971cd0b0430ae2\"\u003e\u003ccode\u003ea8c577d\u003c/code\u003e\u003c/a\u003e docs: add reference to Built-in Pipes in multiple pipe files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8922cae0f965761af53d7269de93ccf40d8b175c\"\u003e\u003ccode\u003e8922cae\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;refactor(http): migrate XSRF classes to use inject() function\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5047849a4a1857471b78b7ba874f39ecd6175a6b\"\u003e\u003ccode\u003e5047849\u003c/code\u003e\u003c/a\u003e fix(common): remove placeholder image listeners once view is removed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c66fe479657155068a25d27640924f0fa05391d\"\u003e\u003ccode\u003e4c66fe4\u003c/code\u003e\u003c/a\u003e refactor(core): mark \u003ccode\u003eVERSION\u003c/code\u003e as \u003ccode\u003e@__PURE__\u003c/code\u003e for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2ad6b729a1033fe354072893dd9686a5e9217cf7\"\u003e\u003ccode\u003e2ad6b72\u003c/code\u003e\u003c/a\u003e refactor(http): migrate XSRF classes to use inject() function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ee578d3e8603070068cdd3a20760094e6079eb68\"\u003e\u003ccode\u003eee578d3\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/744cd5c51cf01201019b1b7401dae1ae6e4a85b5\"\u003e\u003ccode\u003e744cd5c\u003c/code\u003e\u003c/a\u003e refactor(http): simplifies destruction tracking using destroyed property\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/packages/common\"\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.9 to 20.3.21\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.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003ccode\u003ea9bcffd\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/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003ccode\u003e97eeb45\u003c/code\u003e\u003c/a\u003e fix(core): validate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003ccode\u003e626bc8b\u003c/code\u003e\u003c/a\u003e fix(core): sanitize translated form attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003ccode\u003e72126f9\u003c/code\u003e\u003c/a\u003e fix(core): sanitize translated attribute bindings with interpolations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003ccode\u003e7f9de3c\u003c/code\u003e\u003c/a\u003e fix(core): block creation of sensitive URI attributes from ICU messages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003ccode\u003ec2c2b4a\u003c/code\u003e\u003c/a\u003e fix(core): sanitize sensitive attributes on SVG script elements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d1ca8ae04390f050039fdb653a6147d75d48f81e\"\u003e\u003ccode\u003ed1ca8ae\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent XSS via SVG animation \u003ccode\u003eattributeName\u003c/code\u003e and MathML/SVG URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/820bb3991c907384e656cc71b9483fe552ddb602\"\u003e\u003ccode\u003e820bb39\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;refactor(core): let the profiler handle asymmetric events leniently\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dccdcd6bc7708825294f0ab52bd0680f4318fcd\"\u003e\u003ccode\u003e2dccdcd\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): notify profiler events in case of errors\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a966ff18d49c674ca0467d493473c90be969e1a6\"\u003e\u003ccode\u003ea966ff1\u003c/code\u003e\u003c/a\u003e refactor(core): let the profiler handle asymmetric events leniently\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/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.9 to 20.3.21\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.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/4c66fe479657155068a25d27640924f0fa05391d\"\u003e\u003ccode\u003e4c66fe4\u003c/code\u003e\u003c/a\u003e refactor(core): mark \u003ccode\u003eVERSION\u003c/code\u003e as \u003ccode\u003e@__PURE__\u003c/code\u003e for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7b1a47866a7c4caf5aafcfac255b812f8daecd73\"\u003e\u003ccode\u003e7b1a478\u003c/code\u003e\u003c/a\u003e docs: improve discoverability of forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ee578d3e8603070068cdd3a20760094e6079eb68\"\u003e\u003ccode\u003eee578d3\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/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 20.3.9 to 20.3.21\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\u003e20.3.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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/platform-browser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/4c66fe479657155068a25d27640924f0fa05391d\"\u003e\u003ccode\u003e4c66fe4\u003c/code\u003e\u003c/a\u003e refactor(core): mark \u003ccode\u003eVERSION\u003c/code\u003e as \u003ccode\u003e@__PURE__\u003c/code\u003e for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1dcecdf823b0da0801a45467c745f0f5f745d914\"\u003e\u003ccode\u003e1dcecdf\u003c/code\u003e\u003c/a\u003e refactor(platform-browser): remove unused Platform ID dependency from DomRend...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ee578d3e8603070068cdd3a20760094e6079eb68\"\u003e\u003ccode\u003eee578d3\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/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 20.3.9 to 20.3.21\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\u003e20.3.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/06bc1467b1418b879537772e63c0aab2dd804890\"\u003e\u003ccode\u003e06bc146\u003c/code\u003e\u003c/a\u003e docs: adds guide references to router APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c66fe479657155068a25d27640924f0fa05391d\"\u003e\u003ccode\u003e4c66fe4\u003c/code\u003e\u003c/a\u003e refactor(core): mark \u003ccode\u003eVERSION\u003c/code\u003e as \u003ccode\u003e@__PURE__\u003c/code\u003e for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ee578d3e8603070068cdd3a20760094e6079eb68\"\u003e\u003ccode\u003eee578d3\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@modelcontextprotocol/sdk` from 1.26.0 to 1.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/releases\"\u003e@​modelcontextprotocol/sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.29.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: treat v1.x as primary branch for npm latest tag (backport \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1577\"\u003e#1577\u003c/a\u003e) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1749\"\u003emodelcontextprotocol/typescript-sdk#1749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: disallow null (infinite) requested TTL by \u003ca href=\"https://github.com/LucaButBoring\"\u003e\u003ccode\u003e@​LucaButBoring\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1339\"\u003emodelcontextprotocol/typescript-sdk#1339\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: add missing size field to ResourceSchema by \u003ca href=\"https://github.com/olaservo\"\u003e\u003ccode\u003e@​olaservo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1575\"\u003emodelcontextprotocol/typescript-sdk#1575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typings exports by \u003ca href=\"https://github.com/tdraier\"\u003e\u003ccode\u003e@​tdraier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1623\"\u003emodelcontextprotocol/typescript-sdk#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev1.x npm audit fix by \u003ca href=\"https://github.com/KKonstantinov\"\u003e\u003ccode\u003e@​KKonstantinov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1780\"\u003emodelcontextprotocol/typescript-sdk#1780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev1.x \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1623\"\u003e#1623\u003c/a\u003e follow up -add missing types to package.json by \u003ca href=\"https://github.com/KKonstantinov\"\u003e\u003ccode\u003e@​KKonstantinov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1773\"\u003emodelcontextprotocol/typescript-sdk#1773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x backport] Allow servers / clients to advertise extensions in the capability object by \u003ca href=\"https://github.com/localden\"\u003e\u003ccode\u003e@​localden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1811\"\u003emodelcontextprotocol/typescript-sdk#1811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(stdio): always set windowsHide on Windows, not just in Electron by \u003ca href=\"https://github.com/jnMetaCode\"\u003e\u003ccode\u003e@​jnMetaCode\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1640\"\u003emodelcontextprotocol/typescript-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 1.29.0 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1820\"\u003emodelcontextprotocol/typescript-sdk#1820\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/tdraier\"\u003e\u003ccode\u003e@​tdraier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1623\"\u003emodelcontextprotocol/typescript-sdk#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnMetaCode\"\u003e\u003ccode\u003e@​jnMetaCode\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1640\"\u003emodelcontextprotocol/typescript-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.28.0...v1.29.0\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/v1.28.0...v1.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: use scopes_supported from resource metadata by default (fixes \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/580\"\u003e#580\u003c/a\u003e) by \u003ca href=\"https://github.com/antogyn\"\u003e\u003ccode\u003e@​antogyn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/757\"\u003emodelcontextprotocol/typescript-sdk#757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x backport] Default to client_secret_basic when server omits token_endpoint_auth_methods_supported by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1611\"\u003emodelcontextprotocol/typescript-sdk#1611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: reject plain JSON Schema objects passed as inputSchema by \u003ca href=\"https://github.com/tiluckdave\"\u003e\u003ccode\u003e@​tiluckdave\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1596\"\u003emodelcontextprotocol/typescript-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: clear _timeoutInfo in _onclose() and scope .finally() abort controller cleanup by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1462\"\u003emodelcontextprotocol/typescript-sdk#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(server/auth): RFC 8252 loopback port relaxation by \u003ca href=\"https://github.com/poteat\"\u003e\u003ccode\u003e@​poteat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1738\"\u003emodelcontextprotocol/typescript-sdk#1738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 1.28.0 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1746\"\u003emodelcontextprotocol/typescript-sdk#1746\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/antogyn\"\u003e\u003ccode\u003e@​antogyn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/757\"\u003emodelcontextprotocol/typescript-sdk#757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tiluckdave\"\u003e\u003ccode\u003e@​tiluckdave\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1596\"\u003emodelcontextprotocol/typescript-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/poteat\"\u003e\u003ccode\u003e@​poteat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1738\"\u003emodelcontextprotocol/typescript-sdk#1738\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.28.0\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.28.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement auth/pre-registration conformance scenario by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1545\"\u003emodelcontextprotocol/typescript-sdk#1545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add governance documentation for SEP-1730 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1547\"\u003emodelcontextprotocol/typescript-sdk#1547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: comprehensive feature documentation for SEP-1730 Tier 1 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1548\"\u003emodelcontextprotocol/typescript-sdk#1548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent command injection in example URL opening (v1.x backport) by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1579\"\u003emodelcontextprotocol/typescript-sdk#1579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: call onerror for silently swallowed transport errors by \u003ca href=\"https://github.com/qing-ant\"\u003e\u003ccode\u003e@​qing-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1580\"\u003emodelcontextprotocol/typescript-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 1.27.1 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1581\"\u003emodelcontextprotocol/typescript-sdk#1581\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/qing-ant\"\u003e\u003ccode\u003e@​qing-ant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1580\"\u003emodelcontextprotocol/typescript-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.0...v1.27.1\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.0...v1.27.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\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/modelcontextprotocol/typescript-sdk/commit/e12cbd7078db388152f6e839abdbe09ba01f3f32\"\u003e\u003ccode\u003ee12cbd7\u003c/code\u003e\u003c/a\u003e chore: bump version to 1.29.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/3913fd4443a86536155e3ebef9edd2045c372c1e\"\u003e\u003ccode\u003e3913fd4\u003c/code\u003e\u003c/a\u003e fix(stdio): always set windowsHide on Windows, not just in Electron (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1640\"\u003e#1640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/5608e78dd0d4ca6cd7dd03278419578f1780365a\"\u003e\u003ccode\u003e5608e78\u003c/code\u003e\u003c/a\u003e [v1.x backport] Allow servers / clients to advertise extensions in the capabi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/7213816788e634ffb9d09affe50f0295093bfb73\"\u003e\u003ccode\u003e7213816\u003c/code\u003e\u003c/a\u003e v1.x \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1623\"\u003e#1623\u003c/a\u003e follow up -add missing types to package.json (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/364f38ca2d8895aed7c37b7a0a1031bb7ae4841c\"\u003e\u003ccode\u003e364f38c\u003c/code\u003e\u003c/a\u003e v1.x npm audit fix (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1780\"\u003e#1780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/c95cc0943b045517e4cc414baf1f168b216c3142\"\u003e\u003ccode\u003ec95cc09\u003c/code\u003e\u003c/a\u003e Add typings ...\n\n_Description has been truncated_","html_url":"https://github.com/golemui/golemui/pull/128","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemui%2Fgolemui/issues/128","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/128/packages"},{"uuid":"4519871276","node_id":"PR_kwDOQqsILc7fMAgA","number":65,"state":"open","title":"Bump the angular group in /frontend with 10 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-25T22:33:20.000Z","updated_at":"2026-05-25T22:33:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":10,"packages":[{"name":"@angular/cdk","old_version":"21.2.10","new_version":"21.2.12","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.10","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/frontend","ecosystem":"npm"},"body":"Bumps the angular group in /frontend with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.10` | `21.2.12` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `21.2.14` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `21.2.14` |\n\nUpdates `@angular/cdk` from 21.2.10 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\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.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\u003eSee full diff in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...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.2.12 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\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\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.12 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\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.12 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\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\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.12 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\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\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\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.12 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\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.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/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.12 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\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.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/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/build` from 21.2.10 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\u003ch2\u003e21.2.11\u003c/h2\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\u003eDescription\u003c/th\u003e\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/bbd63b7a5a1049bc56b9ddf6edf6563a1f2d9ace\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbd63b7a5-fix-green\" alt=\"fix - bbd63b7a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erobustly parse npm manifest from array\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\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/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/eafe1a719-fix-green\" alt=\"fix - eafe1a719\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow all hosts in common engine rendering options to prevent validation errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a116a80d7e6db341fd003737285d1a9db10ba6c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a116a80d-fix-green\" alt=\"fix - 7a116a80d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove stateful flag from URL_PARAMETER_REGEXP\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... (tru...\n\n_Description has been truncated_","html_url":"https://github.com/SebHeuze/cv-site-package/pull/65","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SebHeuze%2Fcv-site-package/issues/65","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/65/packages"},{"uuid":"4514432957","node_id":"PR_kwDOP8GByc7e6cBn","number":117,"state":"open","title":"Bump @angular/router from 21.2.13 to 21.2.14 in /src/main/angular","user":"dependabot[bot]","labels":["dependencies","frontend"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T05:11:12.000Z","updated_at":"2026-05-25T05:14:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/src/main/angular","ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.13\u0026new-version=21.2.14)](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/augustocristian/full-teaching/pull/117","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/augustocristian%2Ffull-teaching/issues/117","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/117/packages"},{"uuid":"4514267662","node_id":"PR_kwDOR-mF187e558h","number":146,"state":"open","title":"chore(deps):(deps): bump @angular/router from 21.2.12 to 21.2.14","user":"dependabot[bot]","labels":[],"assignees":["nkonko"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T04:28:52.000Z","updated_at":"2026-05-25T04:29:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps):(deps)","packages":[{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 21.2.12 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\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.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/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.12\u0026new-version=21.2.14)](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/nkonko/LucisGestion/pull/146","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkonko%2FLucisGestion/issues/146","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/146/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":"4507391628","node_id":"PR_kwDOQRtpGc7elP27","number":182,"state":"closed","title":"chore(deps)(deps): bump @angular/router from 21.2.12 to 21.2.13 in /frontend/dashboard","user":"dependabot[bot]","labels":["dependencies","frontend"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-01T06:41:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-23T07:53:06.000Z","updated_at":"2026-06-01T06:42:04.000Z","time_to_close":773330,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps)","packages":[{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"}],"path":"/frontend/dashboard","ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.12\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/PascaleBeier/hitkeep/pull/182","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PascaleBeier%2Fhitkeep/issues/182","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/182/packages"}],"issue_packages":[{"old_version":"13.3.11","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-04T03:27:05.000Z","version_change":"13.3.11 → 22.0.0","issue":{"uuid":"4585499672","node_id":"PR_kwDOHbBpFs7igtFc","number":371,"state":"closed","title":"chore(deps): bump @angular/router from 13.3.11 to 22.0.0","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-10T22:36:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T03:27:05.000Z","updated_at":"2026-06-10T22:36:45.000Z","time_to_close":587378,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/router","old_version":"13.3.11","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 13.3.11 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/router'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/router/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/router/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/router'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/76a8c877251443bfd77ca1265034a6da0509b2e1\"\u003e\u003ccode\u003e76a8c87\u003c/code\u003e\u003c/a\u003e refactor(core): Split the ng global into internal and external objects\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/3e5ab7b470b06b63410649700b6a999e381cbb85\"\u003e\u003ccode\u003e3e5ab7b\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7117d690386b079c18b435545dab96fc183305\"\u003e\u003ccode\u003e3e7117d\u003c/code\u003e\u003c/a\u003e fix(router): Add strict typing on 'getResolvedTitleForRoute'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e9d1c7ed563c349330a2c842452a5db4a8046f92\"\u003e\u003ccode\u003ee9d1c7e\u003c/code\u003e\u003c/a\u003e refactor(router): Move target RouterState creation before 'blocking' stage\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/8a7f955f0fd7484cfc23e6e3fe91453973908f1f\"\u003e\u003ccode\u003e8a7f955\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c84642ac16bf3588c071bbdcc684daa8d4e494b3\"\u003e\u003ccode\u003ec84642a\u003c/code\u003e\u003c/a\u003e feat(router): add unmatchedInputBehavior option to componentInputBinding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc637a304fb7af8dae4bc176f8f8f7641cada3b7\"\u003e\u003ccode\u003ebc637a3\u003c/code\u003e\u003c/a\u003e refactor(core): add support for default exports to \u003ccode\u003einjectAsync\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/router\"\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/router\u0026package-manager=npm_and_yarn\u0026previous-version=13.3.11\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/bettermusic/studio/pull/371","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bettermusic%2Fstudio/issues/371","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/371/packages"}},{"old_version":"21.2.15","new_version":"22.0.0","update_type":"major","path":"/front","pr_created_at":"2026-06-04T02:54:05.000Z","version_change":"21.2.15 → 22.0.0","issue":{"uuid":"4585368760","node_id":"PR_kwDOSa9ELM7igRyq","number":19,"state":"open","title":"chore(front): bump the angular-updates group in /front with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T02:54:05.000Z","updated_at":"2026-06-11T06:00:41.689Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(front): bump","group_name":"angular-updates","update_count":9,"packages":[{"name":"@angular/common","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.13","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.13","new_version":"22.0.0","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":"/front","ecosystem":"npm"},"body":"Bumps the angular-updates group in /front with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.15` | `22.0.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.15` | `22.0.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.15` | `22.0.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.15` | `22.0.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.15` | `22.0.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.15` | `22.0.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.13` | `22.0.0` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.13` | `22.0.0` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.15` | `22.0.0` |\n\nUpdates `@angular/common` 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/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.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/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.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/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 --\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/3ad9eb0217b519d756392bf8d0a471cb7a6b80d3\"\u003e\u003ccode\u003e3ad9eb0\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): harden inherit definition feature against polluted prototy...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f3c924926fa2da7ab144fd4b3439b6b834005dee\"\u003e\u003ccode\u003ef3c9249\u003c/code\u003e\u003c/a\u003e fix(core): harden inherit definition feature against polluted prototypes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9d9855a41597c116ca102e672867047ddf7b4545\"\u003e\u003ccode\u003e9d9855a\u003c/code\u003e\u003c/a\u003e fix(migrations): Make the safe optional chaining idempotent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5f14b82af8047f1f77c6bea839b2347cdaaa0df5\"\u003e\u003ccode\u003e5f14b82\u003c/code\u003e\u003c/a\u003e refactor(core): Update webmcp support to use \u003ccode\u003edocument.modelContext\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6fee7aaf89be8d67dd7612af410d39cde0c00020\"\u003e\u003ccode\u003e6fee7aa\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/e3e25b5a535c3e9cc08fcd2f9f85b78b8456a9f8\"\u003e\u003ccode\u003ee3e25b5\u003c/code\u003e\u003c/a\u003e fix(core): use Object.create(null) for LOCALE_DATA as a hardening measure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d88b79651824453ca97489082fe5f7e9d073cacc\"\u003e\u003ccode\u003ed88b796\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/394c9983455368511b1d3822ed010f6f3eee9e8a\"\u003e\u003ccode\u003e394c998\u003c/code\u003e\u003c/a\u003e refactor(core): replace the type of the getDirectiveMetadata property of Exte...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/76a8c877251443bfd77ca1265034a6da0509b2e1\"\u003e\u003ccode\u003e76a8c87\u003c/code\u003e\u003c/a\u003e refactor(core): Split the ng global into internal and external objects\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/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.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/forms'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/forms/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/forms/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/forms'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 b...\n\n_Description has been truncated_","html_url":"https://github.com/LeninTF/Trazzo/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LeninTF%2FTrazzo/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"21.2.16","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-03T21:58:35.000Z","version_change":"21.2.16 → 22.0.0","issue":{"uuid":"4583964774","node_id":"PR_kwDOIELrN87ibpVj","number":19,"state":"open","title":"Bump @angular/router from 21.2.16 to 22.0.0","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-06-03T21:58:35.000Z","updated_at":"2026-06-03T21:59:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/router","old_version":"21.2.16","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 21.2.16 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/router'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/router/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/router/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/router'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/76a8c877251443bfd77ca1265034a6da0509b2e1\"\u003e\u003ccode\u003e76a8c87\u003c/code\u003e\u003c/a\u003e refactor(core): Split the ng global into internal and external objects\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/3e5ab7b470b06b63410649700b6a999e381cbb85\"\u003e\u003ccode\u003e3e5ab7b\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7117d690386b079c18b435545dab96fc183305\"\u003e\u003ccode\u003e3e7117d\u003c/code\u003e\u003c/a\u003e fix(router): Add strict typing on 'getResolvedTitleForRoute'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e9d1c7ed563c349330a2c842452a5db4a8046f92\"\u003e\u003ccode\u003ee9d1c7e\u003c/code\u003e\u003c/a\u003e refactor(router): Move target RouterState creation before 'blocking' stage\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/8a7f955f0fd7484cfc23e6e3fe91453973908f1f\"\u003e\u003ccode\u003e8a7f955\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c84642ac16bf3588c071bbdcc684daa8d4e494b3\"\u003e\u003ccode\u003ec84642a\u003c/code\u003e\u003c/a\u003e feat(router): add unmatchedInputBehavior option to componentInputBinding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc637a304fb7af8dae4bc176f8f8f7641cada3b7\"\u003e\u003ccode\u003ebc637a3\u003c/code\u003e\u003c/a\u003e refactor(core): add support for default exports to \u003ccode\u003einjectAsync\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/router\"\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/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.16\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/pasaperez/pasaperez.github.io/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasaperez%2Fpasaperez.github.io/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"21.2.15","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-03T20:47:36.000Z","version_change":"21.2.15 → 22.0.0","issue":{"uuid":"4583521371","node_id":"PR_kwDOSwWr0M7iaJxr","number":7,"state":"closed","title":"chore(deps): bump @angular/router from 21.2.15 to 22.0.0","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-03T21:09:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T20:47:36.000Z","updated_at":"2026-06-03T21:09:55.000Z","time_to_close":1297,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/router","old_version":"21.2.15","new_version":"22.0.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) 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/router'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/router/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/router/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/router'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/76a8c877251443bfd77ca1265034a6da0509b2e1\"\u003e\u003ccode\u003e76a8c87\u003c/code\u003e\u003c/a\u003e refactor(core): Split the ng global into internal and external objects\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/3e5ab7b470b06b63410649700b6a999e381cbb85\"\u003e\u003ccode\u003e3e5ab7b\u003c/code\u003e\u003c/a\u003e fix(router): skip scroll-to-top on initial navigation when hydrating\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7117d690386b079c18b435545dab96fc183305\"\u003e\u003ccode\u003e3e7117d\u003c/code\u003e\u003c/a\u003e fix(router): Add strict typing on 'getResolvedTitleForRoute'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e9d1c7ed563c349330a2c842452a5db4a8046f92\"\u003e\u003ccode\u003ee9d1c7e\u003c/code\u003e\u003c/a\u003e refactor(router): Move target RouterState creation before 'blocking' stage\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/8a7f955f0fd7484cfc23e6e3fe91453973908f1f\"\u003e\u003ccode\u003e8a7f955\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c84642ac16bf3588c071bbdcc684daa8d4e494b3\"\u003e\u003ccode\u003ec84642a\u003c/code\u003e\u003c/a\u003e feat(router): add unmatchedInputBehavior option to componentInputBinding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc637a304fb7af8dae4bc176f8f8f7641cada3b7\"\u003e\u003ccode\u003ebc637a3\u003c/code\u003e\u003c/a\u003e refactor(core): add support for default exports to \u003ccode\u003einjectAsync\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.0/packages/router\"\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/router\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/skynet2/diff/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/skynet2%2Fdiff/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/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":"21.2.14","new_version":"21.2.15","update_type":"patch","path":null,"pr_created_at":"2026-06-01T22:39:24.000Z","version_change":"21.2.14 → 21.2.15","issue":{"uuid":"4566897367","node_id":"PR_kwDOBKnnxc7hjkR_","number":7938,"state":"closed","title":"chore(deps): bump @angular/router from 21.2.14 to 21.2.15","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-02T12:13:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T22:39:24.000Z","updated_at":"2026-06-02T12:13:51.000Z","time_to_close":48857,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/router","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) 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/router'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/router/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/router/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/router/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/router/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/router/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/router/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/router'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/router\"\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/router\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/super-productivity/super-productivity/pull/7938","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/super-productivity%2Fsuper-productivity/issues/7938","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7938/packages"}},{"old_version":"20.3.12","new_version":"21.2.15","update_type":"major","path":null,"pr_created_at":"2026-06-01T20:02:26.000Z","version_change":"20.3.12 → 21.2.15","issue":{"uuid":"4566018871","node_id":"PR_kwDOM-5YF87hgqoO","number":431,"state":"closed","title":"chore(deps): bump @angular/router from 20.3.12 to 21.2.15","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-08T06:08:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T20:02:26.000Z","updated_at":"2026-06-08T06:08:03.000Z","time_to_close":554735,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/router","old_version":"20.3.12","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 20.3.12 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/router'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/router/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/router/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/router/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/router/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/router/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/router/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/router'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/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\u003e\u003ca href=\"https://github.com/angular/angular/commit/161d98e7f2b825a5df7dc93328b3a41d0a6fde4e\"\u003e\u003ccode\u003e161d98e\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fbe080f829a677610d6bc8ab68af5f4e969f8422\"\u003e\u003ccode\u003efbe080f\u003c/code\u003e\u003c/a\u003e docs(router): Fix method name for retrieving stored handles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1be52ad880933139852ca785a5bf19098d8d6594\"\u003e\u003ccode\u003e1be52ad\u003c/code\u003e\u003c/a\u003e docs: Align Router API docs with inject based DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa4eff36cb288c4d16aa96bfeedaefdd211f74c2\"\u003e\u003ccode\u003efa4eff3\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Validate case-sensitive API symbol links in \u003ccode\u003e@link\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/580212c995751c4bf4ce8a49df4167498743e0ea\"\u003e\u003ccode\u003e580212c\u003c/code\u003e\u003c/a\u003e fix(router): restore internal URL on popstate when \u003ccode\u003ebrowserUrl\u003c/code\u003e is used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/684e9fd53daacb9e910f42d98c6017f9e5cb4180\"\u003e\u003ccode\u003e684e9fd\u003c/code\u003e\u003c/a\u003e fix(router): normalize multiple leading slashes in URL parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0960592d3d4fad110d5598144fda9f2488520826\"\u003e\u003ccode\u003e0960592\u003c/code\u003e\u003c/a\u003e fix(router): pass outlet context to split to fix empty path named outlets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a21be36e15a6d9cf21722f9f6a31dad9380037e9\"\u003e\u003ccode\u003ea21be36\u003c/code\u003e\u003c/a\u003e refactor: prepare for required \u003ccode\u003echangeDetection\u003c/code\u003e prop on G3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/84adb2fb3b3c0fa33f2dce44736d0ce130c44349\"\u003e\u003ccode\u003e84adb2f\u003c/code\u003e\u003c/a\u003e refactor(router): Permit deferring commit of traversal navigations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/router\"\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/router\u0026package-manager=npm_and_yarn\u0026previous-version=20.3.12\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/Mauritz-Langer/Wasserball-Tabelle/pull/431","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mauritz-Langer%2FWasserball-Tabelle/issues/431","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/431/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-06-01T05:42:29.000Z","version_change":"21.2.14 → 21.2.15","issue":{"uuid":"4560650675","node_id":"PR_kwDOSSR3Nc7hPKCr","number":20,"state":"open","title":"Bump the angular group with 11 updates","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-06-01T05:42:29.000Z","updated_at":"2026-06-01T05:43:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":11,"packages":[{"name":"@angular/common","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-server","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/ssr","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/build","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.14","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.14` | `21.2.15` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.14` | `21.2.15` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.14` | `21.2.15` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.14` | `21.2.15` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.14` | `21.2.15` |\n| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `21.2.14` | `21.2.15` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.14` | `21.2.15` |\n| [@angular/ssr](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.13` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.13` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.14` | `21.2.15` |\n\nUpdates `@angular/common` 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/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\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.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.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/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\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.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\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.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/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\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.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\u003eSee full diff 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.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/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\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.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/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.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/platform-browser'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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser'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/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003ccode\u003ee6fe77c\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/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-server` 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/platform-server'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/platform-server/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/platform-server/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/angu...\n\n_Description has been truncated_","html_url":"https://github.com/defalque/better-drawer/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/defalque%2Fbetter-drawer/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"21.2.11","new_version":"21.2.15","update_type":"patch","path":null,"pr_created_at":"2026-06-01T01:50:04.000Z","version_change":"21.2.11 → 21.2.15","issue":{"uuid":"4559759452","node_id":"PR_kwDOBWC-FM7hMS2T","number":1638,"state":"open","title":"build(deps): bump the angular group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":["berviantoleo"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T01:50:04.000Z","updated_at":"2026-06-01T02:21:31.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":14,"packages":[{"name":"@angular/common","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/architect","old_version":"0.2102.9","new_version":"0.2102.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/build-angular","old_version":"21.2.9","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/schematics","old_version":"21.2.9","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.9","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@angular/language-service","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.11` | `21.2.15` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.11` | `21.2.15` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.11` | `21.2.15` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.11` | `21.2.15` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.11` | `21.2.15` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.11` | `21.2.15` |\n| [@angular-devkit/architect](https://github.com/angular/angular-cli) | `0.2102.9` | `0.2102.13` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `21.2.9` | `21.2.13` |\n| [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `21.2.9` | `21.2.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.9` | `21.2.13` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.11` | `21.2.15` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.11` | `21.2.15` |\n| [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `21.2.11` | `21.2.15` |\n\n\nUpdates `@angular/common` from 21.2.11 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\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.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/core` from 21.2.11 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.11 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/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\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/forms'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/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\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/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.11 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/platform-browser'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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser/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/platform-browser'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/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003ccode\u003ee6fe77c\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/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.11 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/platform-browser-dynamic'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/platform-browser-dynamic/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/platform-browser-dynamic/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/platform-browser-dynamic/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/platform-browser-dynamic/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/platform-browser-dynamic/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/platform-browser-dynamic/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\"...\n\n_Description has been truncated_","html_url":"https://github.com/bervProject/belitung-information-center/pull/1638","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bervProject%2Fbelitung-information-center/issues/1638","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1638/packages"}},{"old_version":"21.2.11","new_version":"21.2.15","update_type":"patch","path":null,"pr_created_at":"2026-05-29T15:30:12.000Z","version_change":"21.2.11 → 21.2.15","issue":{"uuid":"4549627811","node_id":"PR_kwDOSHYezc7gtCuh","number":16,"state":"closed","title":"build(deps): bump @angular/router from 21.2.11 to 21.2.15","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-09T20:07:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-29T15:30:12.000Z","updated_at":"2026-06-09T20:07:47.000Z","time_to_close":967045,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"@angular/router","old_version":"21.2.11","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 21.2.11 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/router'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/router/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/router/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/router/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/router/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/router/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/router/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/router'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/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\u003e\u003ca href=\"https://github.com/angular/angular/commit/161d98e7f2b825a5df7dc93328b3a41d0a6fde4e\"\u003e\u003ccode\u003e161d98e\u003c/code\u003e\u003c/a\u003e docs: correct \u0026quot;Angular JS\u0026quot; to \u0026quot;AngularJS\u0026quot;\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/router\"\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/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.11\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/ohmyopensource/ohmyuniversity-web/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohmyopensource%2Fohmyuniversity-web/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"21.2.5","new_version":"21.2.14","update_type":"patch","path":null,"pr_created_at":"2026-05-28T16:24:54.000Z","version_change":"21.2.5 → 21.2.14","issue":{"uuid":"4542027076","node_id":"PR_kwDOOEF4jc7gUGac","number":49,"state":"open","title":"Bump the angular-core group across 1 directory with 10 updates","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-28T16:24:54.000Z","updated_at":"2026-05-28T16:25:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular-core","update_count":10,"packages":[{"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.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.3","new_version":"21.2.13","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":null,"ecosystem":"npm"},"body":"Bumps the angular-core group with 10 updates in the /frontend directory:\n\n| Package | From | To |\n| --- | --- | --- |\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.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.3` | `21.2.13` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.5` | `21.2.14` |\n\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\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/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\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/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.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-dynamic'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-gr...\n\n_Description has been truncated_","html_url":"https://github.com/imoroc/BidCo/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/imoroc%2FBidCo/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/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.12","new_version":"21.2.14","update_type":"patch","path":"/ui","pr_created_at":"2026-05-26T23:18:07.000Z","version_change":"21.2.12 → 21.2.14","issue":{"uuid":"4528160700","node_id":"PR_kwDOISeuI87fm-ow","number":504,"state":"closed","title":"Bump @angular/router from 21.2.12 to 21.2.14 in /ui","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-27T11:29:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T23:18:07.000Z","updated_at":"2026-05-27T11:29:38.000Z","time_to_close":43889,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/ui","ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 21.2.12 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\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.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/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.12\u0026new-version=21.2.14)](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/LearningHouseService/learninghouse/pull/504","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearningHouseService%2Flearninghouse/issues/504","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/504/packages"}},{"old_version":"20.3.9","new_version":"20.3.21","update_type":"patch","path":null,"pr_created_at":"2026-05-26T07:30:09.000Z","version_change":"20.3.9 → 20.3.21","issue":{"uuid":"4522310804","node_id":"PR_kwDOSbNVRM7fT70z","number":128,"state":"open","title":"chore(deps)(deps): bump the minor-and-patch group across 1 directory with 51 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-26T07:30:09.000Z","updated_at":"2026-05-26T07:30:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"minor-and-patch","update_count":51,"packages":[{"name":"@angular/common","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"20.3.9","new_version":"20.3.21","repository_url":"https://github.com/angular/angular"},{"name":"@modelcontextprotocol/sdk","old_version":"1.26.0","new_version":"1.29.0","repository_url":"https://github.com/modelcontextprotocol/typescript-sdk"},{"name":"lit","old_version":"3.3.2","new_version":"3.3.3","repository_url":"https://github.com/lit/lit"},{"name":"react","old_version":"19.0.0","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.0.0","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.0.0","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react-dom","old_version":"19.0.0","new_version":"19.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"subscript","old_version":"10.3.3","new_version":"10.4.15","repository_url":"https://github.com/dy/subscript"},{"name":"zod","old_version":"4.3.6","new_version":"4.4.3","repository_url":"https://github.com/colinhacks/zod"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@babel/core","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-react","old_version":"7.28.5","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@cypress/webpack-dev-server","old_version":"5.6.0","new_version":"5.6.1","repository_url":"https://github.com/cypress-io/cypress"},{"name":"@nx/angular","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/cypress","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/eslint","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/eslint-plugin","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/js","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/react","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/vite","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/vitest","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/web","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@nx/workspace","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"@swc-node/register","old_version":"1.9.2","new_version":"1.11.1","repository_url":"https://github.com/swc-project/swc-node"},{"name":"@swc/core","old_version":"1.5.29","new_version":"1.15.40","repository_url":"https://github.com/swc-project/swc"},{"name":"@testing-library/dom","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/testing-library/dom-testing-library"},{"name":"@testing-library/react","old_version":"16.1.0","new_version":"16.3.2","repository_url":"https://github.com/testing-library/react-testing-library"},{"name":"@typescript-eslint/utils","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"cypress","old_version":"15.14.1","new_version":"15.15.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"czg","old_version":"1.13.0","new_version":"1.13.1","repository_url":"https://github.com/Zhengqbbb/cz-git"},{"name":"eslint-plugin-import","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/import-js/eslint-plugin-import"},{"name":"eslint-plugin-jsx-a11y","old_version":"6.10.1","new_version":"6.10.2","repository_url":"https://github.com/jsx-eslint/eslint-plugin-jsx-a11y"},{"name":"eslint-plugin-react","old_version":"7.35.0","new_version":"7.37.5","repository_url":"https://github.com/jsx-eslint/eslint-plugin-react"},{"name":"jiti","old_version":"2.4.2","new_version":"2.7.0","repository_url":"https://github.com/unjs/jiti"},{"name":"nx","old_version":"22.1.3","new_version":"22.7.4","repository_url":"https://github.com/nrwl/nx"},{"name":"postcss","old_version":"8.5.14","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"postcss-url","old_version":"10.1.3","new_version":"10.1.4","repository_url":"https://github.com/postcss/postcss-url"},{"name":"prettier","old_version":"3.6.2","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"react-router","old_version":"7.14.2","new_version":"7.15.1","repository_url":"https://github.com/remix-run/react-router"},{"name":"swc-loader","old_version":"0.1.15","new_version":"0.2.7","repository_url":"https://github.com/swc-project/pkgs"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.3","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript-eslint","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"verdaccio","old_version":"6.5.2","new_version":"6.7.2","repository_url":"https://github.com/verdaccio/verdaccio"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 50 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `20.3.9` | `20.3.21` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `20.3.9` | `20.3.21` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `20.3.9` | `20.3.21` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `20.3.9` | `20.3.21` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `20.3.9` | `20.3.21` |\n| [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) | `1.26.0` | `1.29.0` |\n| [lit](https://github.com/lit/lit/tree/HEAD/packages/lit) | `3.3.2` | `3.3.3` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.0.0` | `19.2.6` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.0.0` | `19.2.15` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.0.0` | `19.2.6` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.0.0` | `19.2.3` |\n| [subscript](https://github.com/dy/subscript) | `10.3.3` | `10.4.15` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.29.0` | `7.29.7` |\n| [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) | `7.28.5` | `7.29.7` |\n| [@cypress/webpack-dev-server](https://github.com/cypress-io/cypress) | `5.6.0` | `5.6.1` |\n| [@nx/angular](https://github.com/nrwl/nx/tree/HEAD/packages/angular) | `22.1.3` | `22.7.4` |\n| [@nx/cypress](https://github.com/nrwl/nx/tree/HEAD/packages/cypress) | `22.1.3` | `22.7.4` |\n| [@nx/eslint](https://github.com/nrwl/nx/tree/HEAD/packages/eslint) | `22.1.3` | `22.7.4` |\n| [@nx/eslint-plugin](https://github.com/nrwl/nx/tree/HEAD/packages/eslint-plugin) | `22.1.3` | `22.7.4` |\n| [@nx/js](https://github.com/nrwl/nx/tree/HEAD/packages/js) | `22.1.3` | `22.7.4` |\n| [@nx/react](https://github.com/nrwl/nx/tree/HEAD/packages/react) | `22.1.3` | `22.7.4` |\n| [@nx/vite](https://github.com/nrwl/nx/tree/HEAD/packages/vite) | `22.1.3` | `22.7.4` |\n| [@nx/vitest](https://github.com/nrwl/nx/tree/HEAD/packages/vitest) | `22.1.3` | `22.7.4` |\n| [@nx/web](https://github.com/nrwl/nx/tree/HEAD/packages/web) | `22.1.3` | `22.7.4` |\n| [@nx/workspace](https://github.com/nrwl/nx/tree/HEAD/packages/workspace) | `22.1.3` | `22.7.4` |\n| [@swc-node/register](https://github.com/swc-project/swc-node) | `1.9.2` | `1.11.1` |\n| [@swc/core](https://github.com/swc-project/swc/tree/HEAD/packages/core) | `1.5.29` | `1.15.40` |\n| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | `10.4.0` | `10.4.1` |\n| [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.1.0` | `16.3.2` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.59.1` | `8.60.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.5` | `4.1.7` |\n| [cypress](https://github.com/cypress-io/cypress) | `15.14.1` | `15.15.0` |\n| [czg](https://github.com/Zhengqbbb/cz-git/tree/HEAD/packages/cli) | `1.13.0` | `1.13.1` |\n| [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) | `2.31.0` | `2.32.0` |\n| [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y) | `6.10.1` | `6.10.2` |\n| [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) | `7.35.0` | `7.37.5` |\n| [jiti](https://github.com/unjs/jiti) | `2.4.2` | `2.7.0` |\n| [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) | `22.1.3` | `22.7.4` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.14` | `8.5.15` |\n| [postcss-url](https://github.com/postcss/postcss-url) | `10.1.3` | `10.1.4` |\n| [prettier](https://github.com/prettier/prettier) | `3.6.2` | `3.8.3` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.14.2` | `7.15.1` |\n| [swc-loader](https://github.com/swc-project/pkgs) | `0.1.15` | `0.2.7` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.1` | `8.60.0` |\n| [verdaccio](https://github.com/verdaccio/verdaccio) | `6.5.2` | `6.7.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n\n\nUpdates `@angular/common` from 20.3.9 to 20.3.21\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.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/0276479e7d0e280e0f8d26fa567d3b7aa97a516f\"\u003e\u003ccode\u003e0276479\u003c/code\u003e\u003c/a\u003e fix(http): prevent XSRF token leakage to protocol-relative URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a8c577d3af3e16074edb1d6660971cd0b0430ae2\"\u003e\u003ccode\u003ea8c577d\u003c/code\u003e\u003c/a\u003e docs: add reference to Built-in Pipes in multiple pipe files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8922cae0f965761af53d7269de93ccf40d8b175c\"\u003e\u003ccode\u003e8922cae\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;refactor(http): migrate XSRF classes to use inject() function\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5047849a4a1857471b78b7ba874f39ecd6175a6b\"\u003e\u003ccode\u003e5047849\u003c/code\u003e\u003c/a\u003e fix(common): remove placeholder image listeners once view is removed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c66fe479657155068a25d27640924f0fa05391d\"\u003e\u003ccode\u003e4c66fe4\u003c/code\u003e\u003c/a\u003e refactor(core): mark \u003ccode\u003eVERSION\u003c/code\u003e as \u003ccode\u003e@__PURE__\u003c/code\u003e for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2ad6b729a1033fe354072893dd9686a5e9217cf7\"\u003e\u003ccode\u003e2ad6b72\u003c/code\u003e\u003c/a\u003e refactor(http): migrate XSRF classes to use inject() function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ee578d3e8603070068cdd3a20760094e6079eb68\"\u003e\u003ccode\u003eee578d3\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/744cd5c51cf01201019b1b7401dae1ae6e4a85b5\"\u003e\u003ccode\u003e744cd5c\u003c/code\u003e\u003c/a\u003e refactor(http): simplifies destruction tracking using destroyed property\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/packages/common\"\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.9 to 20.3.21\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.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003ccode\u003ea9bcffd\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/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003ccode\u003e97eeb45\u003c/code\u003e\u003c/a\u003e fix(core): validate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003ccode\u003e626bc8b\u003c/code\u003e\u003c/a\u003e fix(core): sanitize translated form attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003ccode\u003e72126f9\u003c/code\u003e\u003c/a\u003e fix(core): sanitize translated attribute bindings with interpolations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003ccode\u003e7f9de3c\u003c/code\u003e\u003c/a\u003e fix(core): block creation of sensitive URI attributes from ICU messages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003ccode\u003ec2c2b4a\u003c/code\u003e\u003c/a\u003e fix(core): sanitize sensitive attributes on SVG script elements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d1ca8ae04390f050039fdb653a6147d75d48f81e\"\u003e\u003ccode\u003ed1ca8ae\u003c/code\u003e\u003c/a\u003e fix(compiler): prevent XSS via SVG animation \u003ccode\u003eattributeName\u003c/code\u003e and MathML/SVG URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/820bb3991c907384e656cc71b9483fe552ddb602\"\u003e\u003ccode\u003e820bb39\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;refactor(core): let the profiler handle asymmetric events leniently\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dccdcd6bc7708825294f0ab52bd0680f4318fcd\"\u003e\u003ccode\u003e2dccdcd\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): notify profiler events in case of errors\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a966ff18d49c674ca0467d493473c90be969e1a6\"\u003e\u003ccode\u003ea966ff1\u003c/code\u003e\u003c/a\u003e refactor(core): let the profiler handle asymmetric events leniently\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/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.9 to 20.3.21\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.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/4c66fe479657155068a25d27640924f0fa05391d\"\u003e\u003ccode\u003e4c66fe4\u003c/code\u003e\u003c/a\u003e refactor(core): mark \u003ccode\u003eVERSION\u003c/code\u003e as \u003ccode\u003e@__PURE__\u003c/code\u003e for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7b1a47866a7c4caf5aafcfac255b812f8daecd73\"\u003e\u003ccode\u003e7b1a478\u003c/code\u003e\u003c/a\u003e docs: improve discoverability of forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ee578d3e8603070068cdd3a20760094e6079eb68\"\u003e\u003ccode\u003eee578d3\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/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 20.3.9 to 20.3.21\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\u003e20.3.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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/platform-browser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/4c66fe479657155068a25d27640924f0fa05391d\"\u003e\u003ccode\u003e4c66fe4\u003c/code\u003e\u003c/a\u003e refactor(core): mark \u003ccode\u003eVERSION\u003c/code\u003e as \u003ccode\u003e@__PURE__\u003c/code\u003e for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1dcecdf823b0da0801a45467c745f0f5f745d914\"\u003e\u003ccode\u003e1dcecdf\u003c/code\u003e\u003c/a\u003e refactor(platform-browser): remove unused Platform ID dependency from DomRend...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ee578d3e8603070068cdd3a20760094e6079eb68\"\u003e\u003ccode\u003eee578d3\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/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 20.3.9 to 20.3.21\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\u003e20.3.21\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/f584840e2e50f751397cf3fad5258e18e857427e\"\u003e\u003cimg src=\"https://img.shields.io/badge/f584840e2e-fix-green\" alt=\"fix - f584840e2e\" /\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\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.20\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/a9bcffdbc7697715f3d4fa91d924a5b905d637b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a9bcffdbc7-fix-green\" alt=\"fix - a9bcffdbc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow event attribute bindings in host bindings unconditionally (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/97eeb45cfa5fbd89013d75b5d862095d34b8ba58\"\u003e\u003cimg src=\"https://img.shields.io/badge/97eeb45cfa-fix-green\" alt=\"fix - 97eeb45cfa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate security-sensitive attributes in i18n bindings (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/68468\"\u003e#68468\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25e4e07238021a3641f96bb5f5648d74a83f1712\"\u003e\u003cimg src=\"https://img.shields.io/badge/25e4e07238-fix-green\" alt=\"fix - 25e4e07238\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure origin has a trailing slash when parsing url (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/68468\"\u003e#68468\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.19\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/303d4cd580dec38bfaa71a0a34965f151bab3ba8\"\u003e\u003cimg src=\"https://img.shields.io/badge/303d4cd580-fix-green\" alt=\"fix - 303d4cd580\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via protocol-relative and backslash URLs\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.18\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/02fbf08890ec6ac2efb6c2ec4f17e56497cb81d2\"\u003e\u003cimg src=\"https://img.shields.io/badge/02fbf08890-fix-green\" alt=\"fix - 02fbf08890\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow translations of iframe src\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/72126f9a08c185a9b93461bab67841c4e84c9b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/72126f9a08-fix-green\" alt=\"fix - 72126f9a08\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated attribute bindings with interpolations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/626bc8bc20e485cad2094c4a5d9417fb9a71dda8\"\u003e\u003cimg src=\"https://img.shields.io/badge/626bc8bc20-fix-green\" alt=\"fix - 626bc8bc20\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize translated form attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e20.3.17\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/7f9de3c118383c09fa8851708c66ec94453a9680\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f9de3c118-fix-green\" alt=\"fix - 7f9de3c118\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eblock creation of sensitive URI attributes from ICU messages\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAngular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.\u003c/p\u003e\n\u003cp\u003e(cherry picked from commit 03da204b6daa5e4583e0d0968c2107390bbd8235)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e20.3.16\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/c2c2b4aaa84c67d2eccd4ef4f94b5ea444a7f73a\"\u003e\u003cimg src=\"https://img.shields.io/badge/c2c2b4aaa8-fix-green\" alt=\"fix - c2c2b4aaa8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize sensitive attributes on SVG script elements\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/router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5\"\u003ea451a1d66e\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.11 (2026-05-06)\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\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\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\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/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8\"\u003eb225a5d902\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einvalid type checking code if field name needs to be quoted\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/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003eb8d3f36ed9\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/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47\"\u003e2eae497a04\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport external TCBs with copied content in specific mode\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/3b0ae5fef0328477ee0f5d51980217e7c583a606\"\u003e3b0ae5fef0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd \u003ccode\u003eprovideWebMcpTools\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e5a7c1e62dc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ability to cache resources for SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f\"\u003eef1810197b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eexport experimental \u003ccode\u003edeclareWebMcpTool\u003c/code\u003e support\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/06bc1467b1418b879537772e63c0aab2dd804890\"\u003e\u003ccode\u003e06bc146\u003c/code\u003e\u003c/a\u003e docs: adds guide references to router APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4c66fe479657155068a25d27640924f0fa05391d\"\u003e\u003ccode\u003e4c66fe4\u003c/code\u003e\u003c/a\u003e refactor(core): mark \u003ccode\u003eVERSION\u003c/code\u003e as \u003ccode\u003e@__PURE__\u003c/code\u003e for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ee578d3e8603070068cdd3a20760094e6079eb68\"\u003e\u003ccode\u003eee578d3\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v20.3.21/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@modelcontextprotocol/sdk` from 1.26.0 to 1.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/releases\"\u003e@​modelcontextprotocol/sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.29.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: treat v1.x as primary branch for npm latest tag (backport \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1577\"\u003e#1577\u003c/a\u003e) by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1749\"\u003emodelcontextprotocol/typescript-sdk#1749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: disallow null (infinite) requested TTL by \u003ca href=\"https://github.com/LucaButBoring\"\u003e\u003ccode\u003e@​LucaButBoring\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1339\"\u003emodelcontextprotocol/typescript-sdk#1339\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] fix: add missing size field to ResourceSchema by \u003ca href=\"https://github.com/olaservo\"\u003e\u003ccode\u003e@​olaservo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1575\"\u003emodelcontextprotocol/typescript-sdk#1575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typings exports by \u003ca href=\"https://github.com/tdraier\"\u003e\u003ccode\u003e@​tdraier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1623\"\u003emodelcontextprotocol/typescript-sdk#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev1.x npm audit fix by \u003ca href=\"https://github.com/KKonstantinov\"\u003e\u003ccode\u003e@​KKonstantinov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1780\"\u003emodelcontextprotocol/typescript-sdk#1780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev1.x \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1623\"\u003e#1623\u003c/a\u003e follow up -add missing types to package.json by \u003ca href=\"https://github.com/KKonstantinov\"\u003e\u003ccode\u003e@​KKonstantinov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1773\"\u003emodelcontextprotocol/typescript-sdk#1773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x backport] Allow servers / clients to advertise extensions in the capability object by \u003ca href=\"https://github.com/localden\"\u003e\u003ccode\u003e@​localden\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1811\"\u003emodelcontextprotocol/typescript-sdk#1811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(stdio): always set windowsHide on Windows, not just in Electron by \u003ca href=\"https://github.com/jnMetaCode\"\u003e\u003ccode\u003e@​jnMetaCode\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1640\"\u003emodelcontextprotocol/typescript-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 1.29.0 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1820\"\u003emodelcontextprotocol/typescript-sdk#1820\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/tdraier\"\u003e\u003ccode\u003e@​tdraier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1623\"\u003emodelcontextprotocol/typescript-sdk#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnMetaCode\"\u003e\u003ccode\u003e@​jnMetaCode\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1640\"\u003emodelcontextprotocol/typescript-sdk#1640\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.28.0...v1.29.0\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/v1.28.0...v1.29.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.28.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: use scopes_supported from resource metadata by default (fixes \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/580\"\u003e#580\u003c/a\u003e) by \u003ca href=\"https://github.com/antogyn\"\u003e\u003ccode\u003e@​antogyn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/757\"\u003emodelcontextprotocol/typescript-sdk#757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x backport] Default to client_secret_basic when server omits token_endpoint_auth_methods_supported by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1611\"\u003emodelcontextprotocol/typescript-sdk#1611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: reject plain JSON Schema objects passed as inputSchema by \u003ca href=\"https://github.com/tiluckdave\"\u003e\u003ccode\u003e@​tiluckdave\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1596\"\u003emodelcontextprotocol/typescript-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: clear _timeoutInfo in _onclose() and scope .finally() abort controller cleanup by \u003ca href=\"https://github.com/pcarleton\"\u003e\u003ccode\u003e@​pcarleton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1462\"\u003emodelcontextprotocol/typescript-sdk#1462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(server/auth): RFC 8252 loopback port relaxation by \u003ca href=\"https://github.com/poteat\"\u003e\u003ccode\u003e@​poteat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1738\"\u003emodelcontextprotocol/typescript-sdk#1738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 1.28.0 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1746\"\u003emodelcontextprotocol/typescript-sdk#1746\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/antogyn\"\u003e\u003ccode\u003e@​antogyn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/757\"\u003emodelcontextprotocol/typescript-sdk#757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tiluckdave\"\u003e\u003ccode\u003e@​tiluckdave\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1596\"\u003emodelcontextprotocol/typescript-sdk#1596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/poteat\"\u003e\u003ccode\u003e@​poteat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1738\"\u003emodelcontextprotocol/typescript-sdk#1738\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.28.0\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.28.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement auth/pre-registration conformance scenario by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1545\"\u003emodelcontextprotocol/typescript-sdk#1545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add governance documentation for SEP-1730 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1547\"\u003emodelcontextprotocol/typescript-sdk#1547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: comprehensive feature documentation for SEP-1730 Tier 1 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1548\"\u003emodelcontextprotocol/typescript-sdk#1548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent command injection in example URL opening (v1.x backport) by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1579\"\u003emodelcontextprotocol/typescript-sdk#1579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: call onerror for silently swallowed transport errors by \u003ca href=\"https://github.com/qing-ant\"\u003e\u003ccode\u003e@​qing-ant\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1580\"\u003emodelcontextprotocol/typescript-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump version to 1.27.1 by \u003ca href=\"https://github.com/felixweinberger\"\u003e\u003ccode\u003e@​felixweinberger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1581\"\u003emodelcontextprotocol/typescript-sdk#1581\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/qing-ant\"\u003e\u003ccode\u003e@​qing-ant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1580\"\u003emodelcontextprotocol/typescript-sdk#1580\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.0...v1.27.1\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.0...v1.27.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.27.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\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/modelcontextprotocol/typescript-sdk/commit/e12cbd7078db388152f6e839abdbe09ba01f3f32\"\u003e\u003ccode\u003ee12cbd7\u003c/code\u003e\u003c/a\u003e chore: bump version to 1.29.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/3913fd4443a86536155e3ebef9edd2045c372c1e\"\u003e\u003ccode\u003e3913fd4\u003c/code\u003e\u003c/a\u003e fix(stdio): always set windowsHide on Windows, not just in Electron (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1640\"\u003e#1640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/5608e78dd0d4ca6cd7dd03278419578f1780365a\"\u003e\u003ccode\u003e5608e78\u003c/code\u003e\u003c/a\u003e [v1.x backport] Allow servers / clients to advertise extensions in the capabi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/7213816788e634ffb9d09affe50f0295093bfb73\"\u003e\u003ccode\u003e7213816\u003c/code\u003e\u003c/a\u003e v1.x \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1623\"\u003e#1623\u003c/a\u003e follow up -add missing types to package.json (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1773\"\u003e#1773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/364f38ca2d8895aed7c37b7a0a1031bb7ae4841c\"\u003e\u003ccode\u003e364f38c\u003c/code\u003e\u003c/a\u003e v1.x npm audit fix (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1780\"\u003e#1780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/c95cc0943b045517e4cc414baf1f168b216c3142\"\u003e\u003ccode\u003ec95cc09\u003c/code\u003e\u003c/a\u003e Add typings ...\n\n_Description has been truncated_","html_url":"https://github.com/golemui/golemui/pull/128","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemui%2Fgolemui/issues/128","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/128/packages"}},{"old_version":"21.2.12","new_version":"21.2.14","update_type":"patch","path":"/frontend","pr_created_at":"2026-05-25T22:33:20.000Z","version_change":"21.2.12 → 21.2.14","issue":{"uuid":"4519871276","node_id":"PR_kwDOQqsILc7fMAgA","number":65,"state":"open","title":"Bump the angular group in /frontend with 10 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-25T22:33:20.000Z","updated_at":"2026-05-25T22:33:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":10,"packages":[{"name":"@angular/cdk","old_version":"21.2.10","new_version":"21.2.12","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.10","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.10","new_version":"21.2.12","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/frontend","ecosystem":"npm"},"body":"Bumps the angular group in /frontend with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.10` | `21.2.12` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.12` | `21.2.14` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.12` | `21.2.14` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.12` | `21.2.14` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.12` | `21.2.14` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.12` | `21.2.14` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.12` | `21.2.14` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.12` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.10` | `21.2.12` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.12` | `21.2.14` |\n\nUpdates `@angular/cdk` from 21.2.10 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\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.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\u003eSee full diff in \u003ca href=\"https://github.com/angular/components/compare/v21.2.10...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.2.12 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\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\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.12 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\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.12 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\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\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.12 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\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\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\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.12 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\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.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/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.12 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\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.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/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/build` from 21.2.10 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\u003ch2\u003e21.2.11\u003c/h2\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\u003eDescription\u003c/th\u003e\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/bbd63b7a5a1049bc56b9ddf6edf6563a1f2d9ace\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbd63b7a5-fix-green\" alt=\"fix - bbd63b7a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erobustly parse npm manifest from array\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\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/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/eafe1a719-fix-green\" alt=\"fix - eafe1a719\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow all hosts in common engine rendering options to prevent validation errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a116a80d7e6db341fd003737285d1a9db10ba6c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a116a80d-fix-green\" alt=\"fix - 7a116a80d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove stateful flag from URL_PARAMETER_REGEXP\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... (tru...\n\n_Description has been truncated_","html_url":"https://github.com/SebHeuze/cv-site-package/pull/65","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SebHeuze%2Fcv-site-package/issues/65","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/65/packages"}},{"old_version":"21.2.13","new_version":"21.2.14","update_type":"patch","path":"/src/main/angular","pr_created_at":"2026-05-25T05:11:12.000Z","version_change":"21.2.13 → 21.2.14","issue":{"uuid":"4514432957","node_id":"PR_kwDOP8GByc7e6cBn","number":117,"state":"open","title":"Bump @angular/router from 21.2.13 to 21.2.14 in /src/main/angular","user":"dependabot[bot]","labels":["dependencies","frontend"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T05:11:12.000Z","updated_at":"2026-05-25T05:14:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":"/src/main/angular","ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.13\u0026new-version=21.2.14)](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/augustocristian/full-teaching/pull/117","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/augustocristian%2Ffull-teaching/issues/117","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/117/packages"}},{"old_version":"21.2.12","new_version":"21.2.14","update_type":"patch","path":null,"pr_created_at":"2026-05-25T04:28:52.000Z","version_change":"21.2.12 → 21.2.14","issue":{"uuid":"4514267662","node_id":"PR_kwDOR-mF187e558h","number":146,"state":"open","title":"chore(deps):(deps): bump @angular/router from 21.2.12 to 21.2.14","user":"dependabot[bot]","labels":[],"assignees":["nkonko"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T04:28:52.000Z","updated_at":"2026-05-25T04:29:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps):(deps)","packages":[{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.14","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 21.2.12 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\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.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/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.12\u0026new-version=21.2.14)](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/nkonko/LucisGestion/pull/146","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkonko%2FLucisGestion/issues/146","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/146/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.2.12","new_version":"21.2.13","update_type":"patch","path":"/frontend/dashboard","pr_created_at":"2026-05-23T07:53:06.000Z","version_change":"21.2.12 → 21.2.13","issue":{"uuid":"4507391628","node_id":"PR_kwDOQRtpGc7elP27","number":182,"state":"closed","title":"chore(deps)(deps): bump @angular/router from 21.2.12 to 21.2.13 in /frontend/dashboard","user":"dependabot[bot]","labels":["dependencies","frontend"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-01T06:41:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-23T07:53:06.000Z","updated_at":"2026-06-01T06:42:04.000Z","time_to_close":773330,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps)","packages":[{"name":"@angular/router","old_version":"21.2.12","new_version":"21.2.13","repository_url":"https://github.com/angular/angular"}],"path":"/frontend/dashboard","ecosystem":"npm"},"body":"Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@angular/router\u0026package-manager=npm_and_yarn\u0026previous-version=21.2.12\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/PascaleBeier/hitkeep/pull/182","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PascaleBeier%2Fhitkeep/issues/182","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/182/packages"}}]}