{"id":238,"name":"@angular/router","ecosystem":"npm","repository_url":"https://github.com/angular/angular","issues_count":4875,"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":759,"unique_repositories_count_past_30_days":8,"recent_issues":[{"uuid":"5055114444","node_id":"PR_kwDOHBnFWs76ROW6","number":1324,"state":"open","title":"Bump the angular group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-08-03T23:34:38.000Z","updated_at":"2026-08-07T16:23:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":13,"packages":[{"name":"@angular/animations","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"22.0.6","new_version":"22.1.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/localize","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"22.0.8","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.8","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `22.0.8` | `22.1.0` |\n| [@angular/cdk](https://github.com/angular/components) | `22.0.6` | `22.1.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.8` | `22.1.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.8` | `22.1.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.8` | `22.1.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.8` | `22.1.0` |\n| [@angular/localize](https://github.com/angular/angular) | `22.0.8` | `22.1.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.8` | `22.1.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.8` | `22.1.0` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `22.0.8` | `22.1.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.8` | `22.1.2` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.8` | `22.1.2` |\n\n\nUpdates `@angular/animations` from 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/861d37e6696c8fcdbf8f67900e009b1c66fd1f82\"\u003e\u003ccode\u003e861d37e\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/a7dab601fafba6c5cb3d3c8d96b4f4b38cb273ac\"\u003e\u003ccode\u003ea7dab60\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 22.0.6 to 22.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.1.0\u003c/h2\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/2430e6e53bb797129a3ed0ee4a024ed647785b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/2430e6e53-fix-green\" alt=\"fix - 2430e6e53\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate to latest typings and fix error (\u003ca href=\"https://redirect.github.com/angular/components/issues/33387\"\u003e#33387\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/73939a835b49f9603cc8026eb373dbef5e9cb96a\"\u003e\u003cimg src=\"https://img.shields.io/badge/73939a835-feat-blue\" alt=\"feat - 73939a835\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e add full-width support (\u003ca href=\"https://redirect.github.com/angular/components/issues/33424\"\u003e#33424\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e\u003cimg src=\"https://img.shields.io/badge/56c7ff6fa-fix-green\" alt=\"fix - 56c7ff6fa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/issues/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e\u003cimg src=\"https://img.shields.io/badge/0e34c64d0-fix-green\" alt=\"fix - 0e34c64d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/issues/33562\"\u003e#33562\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/31781a0246acacc7db7d8f77d502d2460e2cd832\"\u003e\u003cimg src=\"https://img.shields.io/badge/31781a024-fix-green\" alt=\"fix - 31781a024\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e allow setting readonly (\u003ca href=\"https://redirect.github.com/angular/components/issues/33364\"\u003e#33364\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.1.0-rc.0\u003c/h2\u003e\n\u003ch3\u003ematerial-luxon-adapter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\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/452d3cce3e2c651945e0f85c545a2e13b90b8add\"\u003e\u003cimg src=\"https://img.shields.io/badge/452d3cce3e-fix-green\" alt=\"fix - 452d3cce3e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/issues/33564\"\u003e#33564\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/3d21c1b9a2ba57dc1e5c5ff23e8ff63d50b607f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d21c1b9a2-fix-green\" alt=\"fix - 3d21c1b9a2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/issues/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9105a44b83062e1a2a896a98bc229f2fa050ba91\"\u003e\u003cimg src=\"https://img.shields.io/badge/9105a44b83-fix-green\" alt=\"fix - 9105a44b83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a62e65971a379715b8bae2e437e67b62c113a263\"\u003e\u003cimg src=\"https://img.shields.io/badge/a62e65971a-fix-green\" alt=\"fix - a62e65971a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e\u003cimg src=\"https://img.shields.io/badge/56c7ff6fa3-fix-green\" alt=\"fix - 56c7ff6fa3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/issues/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce6875ea7acbcf71c93cd19f3de525ceff29651c\"\u003e\u003cimg src=\"https://img.shields.io/badge/ce6875ea7a-fix-green\" alt=\"fix - ce6875ea7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33554\"\u003e#33554\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e\u003cimg src=\"https://img.shields.io/badge/0e34c64d0c-fix-green\" alt=\"fix - 0e34c64d0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/issues/33562\"\u003e#33562\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b211bf15f7090546b82957cb34d0d60409733fb1\"\u003e\u003cimg src=\"https://img.shields.io/badge/b211bf15f7-fix-green\" alt=\"fix - b211bf15f7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e account for disabled cell widgets and in-place disablement in roving tabindex (\u003ca href=\"https://redirect.github.com/angular/components/issues/33571\"\u003e#33571\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.1.0-next.4\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/d324696863cfc4ee7f4475499d7f0dbed8496d74\"\u003e\u003cimg src=\"https://img.shields.io/badge/d324696863-fix-green\" alt=\"fix - d324696863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e match focus indicator shape to FAB (\u003ca href=\"https://redirect.github.com/angular/components/issues/33527\"\u003e#33527\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9a247a8da23f2c9d5ed03c68d21659f814ae29c6\"\u003e\u003cimg src=\"https://img.shields.io/badge/9a247a8da2-fix-green\" alt=\"fix - 9a247a8da2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e use rounded shape for calendar focus indicators (\u003ca href=\"https://redirect.github.com/angular/components/issues/33524\"\u003e#33524\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/14d896a9366bca6df253af2aade8de4c09f98ba7\"\u003e\u003cimg src=\"https://img.shields.io/badge/14d896a936-fix-green\" alt=\"fix - 14d896a936\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e double focus indicators when strong focus is enabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33520\"\u003e#33520\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c729db79725e819d0ecd3e08cdd0cd876ddae755\"\u003e\u003cimg src=\"https://img.shields.io/badge/c729db7972-fix-green\" alt=\"fix - c729db7972\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e add border radius to header hover state in m2 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33529\"\u003e#33529\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.1.0 \u0026quot;v22-1-0\u0026quot; (2026-07-29)\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/31781a0246acacc7db7d8f77d502d2460e2cd832\"\u003e31781a024\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e allow setting readonly (\u003ca href=\"https://redirect.github.com/angular/components/pull/33364\"\u003e#33364\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/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e0e34c64d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/pull/33562\"\u003e#33562\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/73939a835b49f9603cc8026eb373dbef5e9cb96a\"\u003e73939a835\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e add full-width support (\u003ca href=\"https://redirect.github.com/angular/components/pull/33424\"\u003e#33424\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e56c7ff6fa\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/pull/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/2430e6e53bb797129a3ed0ee4a024ed647785b17\"\u003e2430e6e53\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate to latest typings and fix error (\u003ca href=\"https://redirect.github.com/angular/components/pull/33387\"\u003e#33387\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.7 \u0026quot;v22-0-7\u0026quot; (2026-07-29)\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/e57188b33fe59a78398172016251b1c78bae75df\"\u003ee57188b33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e account for disabled cell widgets and in-place disablement in roving tabindex (\u003ca href=\"https://redirect.github.com/angular/components/pull/33571\"\u003e#33571\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/223c51543352dcfe1f85da733dde9b9179f55095\"\u003e223c51543\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eschematics:\u003c/strong\u003e resolve issues in navigation schematic (\u003ca href=\"https://redirect.github.com/angular/components/pull/33590\"\u003e#33590\u003c/a\u003e)\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/963383e25c90d8c3f6b4489eef7f242fe16cd957\"\u003e963383e25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid instanceof checks in aria directives (\u003ca href=\"https://redirect.github.com/angular/components/pull/33587\"\u003e#33587\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/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/components/commit/7965866634db1a5f5d31ed2bc481c664e241c4c5\"\u003e\u003ccode\u003e7965866\u003c/code\u003e\u003c/a\u003e release: cut the v22.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/176142678f161f993cccf261287c3964bfc94552\"\u003e\u003ccode\u003e1761426\u003c/code\u003e\u003c/a\u003e docs: convert CDK overlay to signals (\u003ca href=\"https://redirect.github.com/angular/components/issues/33591\"\u003e#33591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/0d70daae47f6f879b6c4a537229befeea44c77aa\"\u003e\u003ccode\u003e0d70daa\u003c/code\u003e\u003c/a\u003e fix(material/schematics): resolve issues in navigation schematic (\u003ca href=\"https://redirect.github.com/angular/components/issues/33590\"\u003e#33590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d89d07aa0180004723e6ded4ede97110d1f273a2\"\u003e\u003ccode\u003ed89d07a\u003c/code\u003e\u003c/a\u003e refactor(cdk/clipboard): switch tests away from fakeAsync (\u003ca href=\"https://redirect.github.com/angular/components/issues/33585\"\u003e#33585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/ba02c5f79a68c05753188763ca3aba186e6bd5f6\"\u003e\u003ccode\u003eba02c5f\u003c/code\u003e\u003c/a\u003e fix(multiple): avoid instanceof checks in aria directives (\u003ca href=\"https://redirect.github.com/angular/components/issues/33587\"\u003e#33587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/9f782683365b876a2f1eb76f94941f44a59c7af8\"\u003e\u003ccode\u003e9f78268\u003c/code\u003e\u003c/a\u003e release: cut the v22.1.0-rc.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b211bf15f7090546b82957cb34d0d60409733fb1\"\u003e\u003ccode\u003eb211bf1\u003c/code\u003e\u003c/a\u003e fix(aria/grid): account for disabled cell widgets and in-place disablement in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/501d6744b377e1ef7d1cf7e86edcc0eedbf755e7\"\u003e\u003ccode\u003e501d674\u003c/code\u003e\u003c/a\u003e build: skip branch manager job on forked repositories (\u003ca href=\"https://redirect.github.com/angular/components/issues/33233\"\u003e#33233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/def30ba343456fdd7c43ab585748cb1c26ac44fe\"\u003e\u003ccode\u003edef30ba\u003c/code\u003e\u003c/a\u003e docs: release notes for the v22.0.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/659b5624366099931bfa8d125a3265ede8302ba2\"\u003e\u003ccode\u003e659b562\u003c/code\u003e\u003c/a\u003e build: update dependencies and account for breaking changes (\u003ca href=\"https://redirect.github.com/angular/components/issues/33565\"\u003e#33565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v22.0.6...v22.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/79a37f3d0b690a9e9cc893a10cef4ef4cdce4c3b\"\u003e\u003ccode\u003e79a37f3\u003c/code\u003e\u003c/a\u003e refactor(common): replaces the deprecated positional \u003ccode\u003esubscribe\u003c/code\u003e arguments wi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6dcb534e127d8b9971103596844ca1c0e736596b\"\u003e\u003ccode\u003e6dcb534\u003c/code\u003e\u003c/a\u003e refactor(common): remove duplicate helper function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003ccode\u003eec16a3d\u003c/code\u003e\u003c/a\u003e fix(http): enable xsrf for root-provided HttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003ccode\u003e39e362e\u003c/code\u003e\u003c/a\u003e fix(http): match header values exactly when deleting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003ccode\u003ebe46ca8\u003c/code\u003e\u003c/a\u003e fix(http): preserve immutability of materialized clones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d14696e4308c5cd95cf2184cae3582b52f7c7cf3\"\u003e\u003ccode\u003ed14696e\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3192dccaa3e1488f8bf351864ea48e44a21246aa\"\u003e\u003ccode\u003e3192dcc\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185\"\u003e\u003ccode\u003e359fb50\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6d043f86573e317f20039ccec031d6e63c01b656\"\u003e\u003ccode\u003e6d043f8\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c1829f6d7cc37aec73217a53da1e8314690c8c79\"\u003e\u003ccode\u003ec1829f6\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.c...\n\n_Description has been truncated_","html_url":"https://github.com/cjmalloy/jasper-ui/pull/1324","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjmalloy%2Fjasper-ui/issues/1324","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1324/packages"},{"uuid":"5052446308","node_id":"PR_kwDOP0e6ns76Ilg-","number":100,"state":"closed","title":"chore(deps): bump the npm-deps group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-08-07T17:17:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-03T17:20:45.000Z","updated_at":"2026-08-07T17:17:48.000Z","time_to_close":345421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-deps","update_count":34,"packages":[{"name":"@angular/animations","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"20.2.14","new_version":"22.1.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"material-symbols","old_version":"0.42.3","new_version":"0.45.10","repository_url":"https://github.com/marella/material-symbols"},{"name":"ngx-float-ui","old_version":"20.1.0","new_version":"21.0.1","repository_url":"https://github.com/tonysamperi/ngx-float-ui"},{"name":"uuid","old_version":"14.0.0","new_version":"14.0.1","repository_url":"https://github.com/uuidjs/uuid"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/core","old_version":"20.3.21","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/build-angular","old_version":"20.3.21","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"20.3.21","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@cypress/schematic","old_version":"4.3.0","new_version":"5.0.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"@tailwindcss/postcss","old_version":"4.2.2","new_version":"4.3.3","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/jasmine","old_version":"5.1.15","new_version":"6.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"angular-eslint","old_version":"20.5.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"cypress","old_version":"15.13.0","new_version":"15.19.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"daisyui","old_version":"5.5.19","new_version":"5.7.9","repository_url":"https://github.com/saadeghi/daisyui"},{"name":"eslint","old_version":"9.39.4","new_version":"10.8.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jasmine-core","old_version":"5.12.1","new_version":"6.3.0","repository_url":"https://github.com/jasmine/jasmine"},{"name":"karma-jasmine-html-reporter","old_version":"2.1.0","new_version":"2.2.0","repository_url":"https://github.com/dfederm/karma-jasmine-html-reporter"},{"name":"lint-staged","old_version":"16.4.0","new_version":"17.3.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"ng-packagr","old_version":"20.3.2","new_version":"22.1.0","repository_url":"https://github.com/ng-packagr/ng-packagr"},{"name":"prettier","old_version":"3.8.1","new_version":"3.9.6","repository_url":"https://github.com/prettier/prettier"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.46.2","new_version":"8.65.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-deps group with 31 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `20.3.18` | `22.1.0` |\n| [@angular/cdk](https://github.com/angular/components) | `20.2.14` | `22.1.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `20.3.18` | `22.1.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `20.3.18` | `22.1.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `20.3.18` | `22.1.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `20.3.18` | `22.1.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `20.3.18` | `22.1.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `20.3.18` | `22.1.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `20.3.18` | `22.1.0` |\n| [material-symbols](https://github.com/marella/material-symbols/tree/HEAD/material-symbols) | `0.42.3` | `0.45.10` |\n| [ngx-float-ui](https://github.com/tonysamperi/ngx-float-ui) | `20.1.0` | `21.0.1` |\n| [uuid](https://github.com/uuidjs/uuid) | `14.0.0` | `14.0.1` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n| [@angular-devkit/core](https://github.com/angular/angular-cli) | `20.3.21` | `22.1.2` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `20.3.21` | `22.1.2` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `20.3.21` | `22.1.2` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `20.3.18` | `22.1.0` |\n| [@cypress/schematic](https://github.com/cypress-io/cypress) | `4.3.0` | `5.0.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.2` | `4.3.3` |\n| [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) | `5.1.15` | `6.0.0` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `20.5.0` | `22.1.0` |\n| [cypress](https://github.com/cypress-io/cypress) | `15.13.0` | `15.19.0` |\n| [daisyui](https://github.com/saadeghi/daisyui/tree/HEAD/packages/daisyui) | `5.5.19` | `5.7.9` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.8.0` |\n| [jasmine-core](https://github.com/jasmine/jasmine) | `5.12.1` | `6.3.0` |\n| [karma-jasmine-html-reporter](https://github.com/dfederm/karma-jasmine-html-reporter) | `2.1.0` | `2.2.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.4.0` | `17.3.0` |\n| [ng-packagr](https://github.com/ng-packagr/ng-packagr) | `20.3.2` | `22.1.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.9.6` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.46.2` | `8.65.0` |\n\n\nUpdates `@angular/animations` from 20.3.18 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/861d37e6696c8fcdbf8f67900e009b1c66fd1f82\"\u003e\u003ccode\u003e861d37e\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/a7dab601fafba6c5cb3d3c8d96b4f4b38cb273ac\"\u003e\u003ccode\u003ea7dab60\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\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 20.2.14 to 22.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.1.0\u003c/h2\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/2430e6e53bb797129a3ed0ee4a024ed647785b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/2430e6e53-fix-green\" alt=\"fix - 2430e6e53\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate to latest typings and fix error (\u003ca href=\"https://redirect.github.com/angular/components/issues/33387\"\u003e#33387\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/73939a835b49f9603cc8026eb373dbef5e9cb96a\"\u003e\u003cimg src=\"https://img.shields.io/badge/73939a835-feat-blue\" alt=\"feat - 73939a835\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e add full-width support (\u003ca href=\"https://redirect.github.com/angular/components/issues/33424\"\u003e#33424\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e\u003cimg src=\"https://img.shields.io/badge/56c7ff6fa-fix-green\" alt=\"fix - 56c7ff6fa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/issues/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e\u003cimg src=\"https://img.shields.io/badge/0e34c64d0-fix-green\" alt=\"fix - 0e34c64d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/issues/33562\"\u003e#33562\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/31781a0246acacc7db7d8f77d502d2460e2cd832\"\u003e\u003cimg src=\"https://img.shields.io/badge/31781a024-fix-green\" alt=\"fix - 31781a024\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e allow setting readonly (\u003ca href=\"https://redirect.github.com/angular/components/issues/33364\"\u003e#33364\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.1.0-rc.0\u003c/h2\u003e\n\u003ch3\u003ematerial-luxon-adapter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\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/452d3cce3e2c651945e0f85c545a2e13b90b8add\"\u003e\u003cimg src=\"https://img.shields.io/badge/452d3cce3e-fix-green\" alt=\"fix - 452d3cce3e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/issues/33564\"\u003e#33564\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/3d21c1b9a2ba57dc1e5c5ff23e8ff63d50b607f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d21c1b9a2-fix-green\" alt=\"fix - 3d21c1b9a2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/issues/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9105a44b83062e1a2a896a98bc229f2fa050ba91\"\u003e\u003cimg src=\"https://img.shields.io/badge/9105a44b83-fix-green\" alt=\"fix - 9105a44b83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a62e65971a379715b8bae2e437e67b62c113a263\"\u003e\u003cimg src=\"https://img.shields.io/badge/a62e65971a-fix-green\" alt=\"fix - a62e65971a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e\u003cimg src=\"https://img.shields.io/badge/56c7ff6fa3-fix-green\" alt=\"fix - 56c7ff6fa3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/issues/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce6875ea7acbcf71c93cd19f3de525ceff29651c\"\u003e\u003cimg src=\"https://img.shields.io/badge/ce6875ea7a-fix-green\" alt=\"fix - ce6875ea7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33554\"\u003e#33554\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e\u003cimg src=\"https://img.shields.io/badge/0e34c64d0c-fix-green\" alt=\"fix - 0e34c64d0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/issues/33562\"\u003e#33562\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b211bf15f7090546b82957cb34d0d60409733fb1\"\u003e\u003cimg src=\"https://img.shields.io/badge/b211bf15f7-fix-green\" alt=\"fix - b211bf15f7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e account for disabled cell widgets and in-place disablement in roving tabindex (\u003ca href=\"https://redirect.github.com/angular/components/issues/33571\"\u003e#33571\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.1.0-next.4\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/d324696863cfc4ee7f4475499d7f0dbed8496d74\"\u003e\u003cimg src=\"https://img.shields.io/badge/d324696863-fix-green\" alt=\"fix - d324696863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e match focus indicator shape to FAB (\u003ca href=\"https://redirect.github.com/angular/components/issues/33527\"\u003e#33527\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9a247a8da23f2c9d5ed03c68d21659f814ae29c6\"\u003e\u003cimg src=\"https://img.shields.io/badge/9a247a8da2-fix-green\" alt=\"fix - 9a247a8da2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e use rounded shape for calendar focus indicators (\u003ca href=\"https://redirect.github.com/angular/components/issues/33524\"\u003e#33524\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/14d896a9366bca6df253af2aade8de4c09f98ba7\"\u003e\u003cimg src=\"https://img.shields.io/badge/14d896a936-fix-green\" alt=\"fix - 14d896a936\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e double focus indicators when strong focus is enabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33520\"\u003e#33520\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c729db79725e819d0ecd3e08cdd0cd876ddae755\"\u003e\u003cimg src=\"https://img.shields.io/badge/c729db7972-fix-green\" alt=\"fix - c729db7972\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e add border radius to header hover state in m2 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33529\"\u003e#33529\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.1.0 \u0026quot;v22-1-0\u0026quot; (2026-07-29)\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/31781a0246acacc7db7d8f77d502d2460e2cd832\"\u003e31781a024\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e allow setting readonly (\u003ca href=\"https://redirect.github.com/angular/components/pull/33364\"\u003e#33364\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/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e0e34c64d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/pull/33562\"\u003e#33562\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/73939a835b49f9603cc8026eb373dbef5e9cb96a\"\u003e73939a835\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e add full-width support (\u003ca href=\"https://redirect.github.com/angular/components/pull/33424\"\u003e#33424\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e56c7ff6fa\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/pull/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/2430e6e53bb797129a3ed0ee4a024ed647785b17\"\u003e2430e6e53\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate to latest typings and fix error (\u003ca href=\"https://redirect.github.com/angular/components/pull/33387\"\u003e#33387\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.7 \u0026quot;v22-0-7\u0026quot; (2026-07-29)\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/e57188b33fe59a78398172016251b1c78bae75df\"\u003ee57188b33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e account for disabled cell widgets and in-place disablement in roving tabindex (\u003ca href=\"https://redirect.github.com/angular/components/pull/33571\"\u003e#33571\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/223c51543352dcfe1f85da733dde9b9179f55095\"\u003e223c51543\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eschematics:\u003c/strong\u003e resolve issues in navigation schematic (\u003ca href=\"https://redirect.github.com/angular/components/pull/33590\"\u003e#33590\u003c/a\u003e)\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/963383e25c90d8c3f6b4489eef7f242fe16cd957\"\u003e963383e25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid instanceof checks in aria directives (\u003ca href=\"https://redirect.github.com/angular/components/pull/33587\"\u003e#33587\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.6 \u0026quot;plaid-panda\u0026quot; (2026-07-22)\u003c/h1\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/d9fcaced4950ce6f3d7f759bbeab18134217dbce\"\u003ed9fcaced49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/pull/33554\"\u003e#33554\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/842bc940b8dd3f1e69c460e724921a5f4ababede\"\u003e842bc940b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/pull/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b5224c68f1ef1b996462a305d98387c564c36a83\"\u003eb5224c68f1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/pull/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/354f1ac17dc8365dacc61a02f3288dc73f676bb8\"\u003e354f1ac17d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/pull/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/7965866634db1a5f5d31ed2bc481c664e241c4c5\"\u003e\u003ccode\u003e7965866\u003c/code\u003e\u003c/a\u003e release: cut the v22.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/176142678f161f993cccf261287c3964bfc94552\"\u003e\u003ccode\u003e1761426\u003c/code\u003e\u003c/a\u003e docs: convert CDK overlay to signals (\u003ca href=\"https://redirect.github.com/angular/components/issues/33591\"\u003e#33591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/0d70daae47f6f879b6c4a537229befeea44c77aa\"\u003e\u003ccode\u003e0d70daa\u003c/code\u003e\u003c/a\u003e fix(material/schematics): resolve issues in navigation schematic (\u003ca href=\"https://redirect.github.com/angular/components/issues/33590\"\u003e#33590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d89d07aa0180004723e6ded4ede97110d1f273a2\"\u003e\u003ccode\u003ed89d07a\u003c/code\u003e\u003c/a\u003e refactor(cdk/clipboard): switch tests away from fakeAsync (\u003ca href=\"https://redirect.github.com/angular/components/issues/33585\"\u003e#33585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/ba02c5f79a68c05753188763ca3aba186e6bd5f6\"\u003e\u003ccode\u003eba02c5f\u003c/code\u003e\u003c/a\u003e fix(multiple): avoid instanceof checks in aria directives (\u003ca href=\"https://redirect.github.com/angular/components/issues/33587\"\u003e#33587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/9f782683365b876a2f1eb76f94941f44a59c7af8\"\u003e\u003ccode\u003e9f78268\u003c/code\u003e\u003c/a\u003e release: cut the v22.1.0-rc.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b211bf15f7090546b82957cb34d0d60409733fb1\"\u003e\u003ccode\u003eb211bf1\u003c/code\u003e\u003c/a\u003e fix(aria/grid): account for disabled cell widgets and in-place disablement in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/501d6744b377e1ef7d1cf7e86edcc0eedbf755e7\"\u003e\u003ccode\u003e501d674\u003c/code\u003e\u003c/a\u003e build: skip branch manager job on forked repositories (\u003ca href=\"https://redirect.github.com/angular/components/issues/33233\"\u003e#33233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/def30ba343456fdd7c43ab585748cb1c26ac44fe\"\u003e\u003ccode\u003edef30ba\u003c/code\u003e\u003c/a\u003e docs: release notes for the v22.0.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/659b5624366099931bfa8d125a3265ede8302ba2\"\u003e\u003ccode\u003e659b562\u003c/code\u003e\u003c/a\u003e build: update dependencies and account for breaking changes (\u003ca href=\"https://redirect.github.com/angular/components/issues/33565\"\u003e#33565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/20.2.14...v22.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 20.3.18 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/79a37f3d0b690a9e9cc893a10cef4ef4cdce4c3b\"\u003e\u003ccode\u003e79a37f3\u003c/code\u003e\u003c/a\u003e refactor(common): replaces the deprecated positional \u003ccode\u003esubscribe\u003c/code\u003e arguments wi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6dcb534e127d8b9971103596844ca1c0e736596b\"\u003e\u003ccode\u003e6dcb534\u003c/code\u003e\u003c/a\u003e refactor(common): remove duplicate helper function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003ccode\u003eec16a3d\u003c/code\u003e\u003c/a\u003e fix(http): enable xsrf for root-provided HttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003ccode\u003e39e362e\u003c/code\u003e\u003c/a\u003e fix(http): match header values exactly when deleting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003ccode\u003ebe46ca8\u003c/code\u003e\u003c/a\u003e fix(http): preserve immutability of materialized clones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d14696e4308c5cd95cf2184cae3582b52f7c7cf3\"\u003e\u003ccode\u003ed14696e\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3192dccaa3e1488f8bf351864ea48e44a21246aa\"\u003e\u003ccode\u003e3192dcc\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185\"\u003e\u003ccode\u003e359fb50\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6d043f86573e317f20039ccec031d6e63c01b656\"\u003e\u003ccode\u003e6d043f8\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c1829f6d7cc37aec73217a53da1e8314690c8c79\"\u003e\u003ccode\u003ec1829f6\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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 20.3.18 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642a...\n\n_Description has been truncated_","html_url":"https://github.com/eclipse-tractusx/tractusx-edc-dashboard/pull/100","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-tractusx%2Ftractusx-edc-dashboard/issues/100","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/100/packages"},{"uuid":"5033213549","node_id":"PR_kwDOB0cSmM75MZ-t","number":12,"state":"closed","title":"chore(deps): bump the minor-and-patch group across 1 directory with 16 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-08-07T20:35:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-31T20:40:07.000Z","updated_at":"2026-08-07T20:35:45.000Z","time_to_close":604536,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":16,"packages":[{"name":"@angular/common","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular-eslint/builder","old_version":"22.0.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/schematics","old_version":"22.0.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular/cli","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/language-service","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@playwright/test","old_version":"1.61.1","new_version":"1.62.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"eslint","old_version":"10.7.0","new_version":"10.8.0","repository_url":"https://github.com/eslint/eslint"},{"name":"karma-jasmine-html-reporter","old_version":"2.1.0","new_version":"2.2.0","repository_url":"https://github.com/dfederm/karma-jasmine-html-reporter"},{"name":"angular-eslint","old_version":"22.0.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"typescript-eslint","old_version":"8.63.0","new_version":"8.65.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 16 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.6` | `22.0.8` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.6` | `22.0.8` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.6` | `22.0.8` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.6` | `22.0.8` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.6` | `22.0.8` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.6` | `22.0.8` |\n| [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder) | `22.0.0` | `22.1.0` |\n| [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics) | `22.0.0` | `22.1.0` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.6` | `22.0.8` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.6` | `22.0.8` |\n| [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `22.0.6` | `22.0.8` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.61.1` | `1.62.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.7.0` | `10.8.0` |\n| [karma-jasmine-html-reporter](https://github.com/dfederm/karma-jasmine-html-reporter) | `2.1.0` | `2.2.0` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `22.0.0` | `22.1.0` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.63.0` | `8.65.0` |\n\n\nUpdates `@angular/common` from 22.0.6 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003ccode\u003ec0368f2\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003ccode\u003e9d40f8a\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003ccode\u003e91e33aa\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/20b7dc3023df9ccde232cf9fef1d2b1d3ae68b23\"\u003e\u003ccode\u003e20b7dc3\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/3854174ec4a25e21abaef4ddd9d968a5b46fc832\"\u003e\u003ccode\u003e3854174\u003c/code\u003e\u003c/a\u003e refactor(compiler): enforce exhaustive defer trigger handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003ccode\u003ec89f71a\u003c/code\u003e\u003c/a\u003e fix(core): ignore processing instruction syntax in templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003ccode\u003e5b516e3\u003c/code\u003e\u003c/a\u003e fix(compiler): parsing of an empty template literal interpolation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003ccode\u003e388daea\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly migrate ngClass with mixed space-separated keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003ccode\u003e8616ba9\u003c/code\u003e\u003c/a\u003e fix(core): ensure SVG animation attributeName is checked case-insensitively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003ccode\u003ebb39cda\u003c/code\u003e\u003c/a\u003e fix(migrations): preserve NgClass import on partial migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/829d98e9ae08b12a2c4a624a64f87660d6dfde26\"\u003e\u003ccode\u003e829d98e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e881b962cc45ddc7d60da095bac496a7709f25cb\"\u003e\u003ccode\u003ee881b96\u003c/code\u003e\u003c/a\u003e refactor(core): move signal debug graph interfaces to primitives/devtools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1046fd9e56b607ddc3f22ffd86af7c3bddec40ce\"\u003e\u003ccode\u003e1046fd9\u003c/code\u003e\u003c/a\u003e refactor(core): remove deprecated \u003ccode\u003eunregisterTool\u003c/code\u003e from \u003ccode\u003eModelContext\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98\"\u003e\u003ccode\u003e5936ffb\u003c/code\u003e\u003c/a\u003e refactor(core): update WebMCP tool registration to be asynchronous\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c82ae67e3d866daea488c9cb312c45bbb19c7b33\"\u003e\u003ccode\u003ec82ae67\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): allow static attributes for explicit input transforms\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec9b4793e88828257cae38ac75b8e1c5392022ff\"\u003e\u003ccode\u003eec9b479\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003ccode\u003ed302c7a\u003c/code\u003e\u003c/a\u003e fix(forms):  ensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e14ead1093a40200bc1bd4162611dcb9862fc714\"\u003e\u003ccode\u003ee14ead1\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(forms): preserve intermediate number values in signal forms\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003ccode\u003e64d6d47\u003c/code\u003e\u003c/a\u003e fix(forms): preserve intermediate number values in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a6174d5900570ec0ce72683438bdbbc39158f96d\"\u003e\u003ccode\u003ea6174d5\u003c/code\u003e\u003c/a\u003e refactor(forms): warn when a text input receives a null value in Signal Forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98\"\u003e\u003ccode\u003e5936ffb\u003c/code\u003e\u003c/a\u003e refactor(core): update WebMCP tool registration to be asynchronous\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5d06fcb1092d121a8990ef7934bfba0b599ff6f2\"\u003e\u003ccode\u003e5d06fcb\u003c/code\u003e\u003c/a\u003e test(forms): register writeback test control as CVA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003ccode\u003e6cf7446\u003c/code\u003e\u003c/a\u003e fix(forms): prevent stale CVA writeback during debounce\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003ccode\u003e1b99646\u003c/code\u003e\u003c/a\u003e fix(forms): allow multiple async validators\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/b34bf0dce855bca3c6dfcf7e19d38b3b39288a16\"\u003e\u003ccode\u003eb34bf0d\u003c/code\u003e\u003c/a\u003e fix(platform-browser): prevent ReDoS in SOURCEMAP_URL_REGEXP\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n...\n\n_Description has been truncated_","html_url":"https://github.com/ahasan09/followers-app/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahasan09%2Ffollowers-app/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"5031506096","node_id":"PR_kwDOTa-Mvs75G3YE","number":12,"state":"closed","title":"chore(deps): bump the javascript-dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-08-07T16:14:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-31T16:31:18.000Z","updated_at":"2026-08-07T16:14:52.000Z","time_to_close":603812,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"javascript-dependencies","update_count":33,"packages":[{"name":"firebase-admin","old_version":"13.10.0","new_version":"14.2.0","repository_url":"https://github.com/firebase/firebase-admin-node"},{"name":"markdownlint-cli2","old_version":"0.20.0","new_version":"0.23.2","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"prettier","old_version":"3.9.5","new_version":"3.9.6","repository_url":"https://github.com/prettier/prettier"},{"name":"turbo","old_version":"2.10.5","new_version":"2.10.7","repository_url":"https://github.com/vercel/turborepo"},{"name":"@nestjs/swagger","old_version":"11.4.5","new_version":"11.4.6","repository_url":"https://github.com/nestjs/swagger"},{"name":"@prisma/adapter-pg","old_version":"7.8.0","new_version":"7.9.1","repository_url":"https://github.com/prisma/prisma"},{"name":"@prisma/client","old_version":"7.8.0","new_version":"7.9.1","repository_url":"https://github.com/prisma/prisma"},{"name":"argon2","old_version":"0.44.0","new_version":"0.45.1","repository_url":"https://github.com/ranisalt/node-argon2"},{"name":"@eslint/js","old_version":"9.39.5","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@types/node","old_version":"24.10.13","new_version":"26.1.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/pg","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/supertest","old_version":"7.2.0","new_version":"7.2.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint","old_version":"9.39.2","new_version":"10.8.0","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.3.0","new_version":"17.8.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"prisma","old_version":"7.8.0","new_version":"7.9.1","repository_url":"https://github.com/prisma/prisma"},{"name":"ts-jest","old_version":"29.4.11","new_version":"29.4.12","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"tsx","old_version":"4.21.0","new_version":"4.23.1","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.64.0","new_version":"8.65.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@angular/cdk","old_version":"22.0.5","new_version":"22.0.6","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"22.0.5","new_version":"22.0.6","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@lucide/angular","old_version":"1.25.0","new_version":"1.27.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"@angular/build","old_version":"22.0.7","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.7","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"jsdom","old_version":"28.1.0","new_version":"30.0.0","repository_url":"https://github.com/jsdom/jsdom"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the javascript-dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [firebase-admin](https://github.com/firebase/firebase-admin-node) | `13.10.0` | `14.2.0` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.20.0` | `0.23.2` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.5` | `3.9.6` |\n| [turbo](https://github.com/vercel/turborepo) | `2.10.5` | `2.10.7` |\n| [@nestjs/swagger](https://github.com/nestjs/swagger) | `11.4.5` | `11.4.6` |\n| [@prisma/adapter-pg](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg) | `7.8.0` | `7.9.1` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.8.0` | `7.9.1` |\n| [argon2](https://github.com/ranisalt/node-argon2) | `0.44.0` | `0.45.1` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.5` | `10.0.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.10.13` | `26.1.2` |\n| [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) | `8.18.0` | `8.20.0` |\n| [@types/supertest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/supertest) | `7.2.0` | `7.2.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.8.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.8.0` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.8.0` | `7.9.1` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.11` | `29.4.12` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.23.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.64.0` | `8.65.0` |\n| [@angular/cdk](https://github.com/angular/components) | `22.0.5` | `22.0.6` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.6` | `22.0.8` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.6` | `22.0.8` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.6` | `22.0.8` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.6` | `22.0.8` |\n| [@angular/material](https://github.com/angular/components) | `22.0.5` | `22.0.6` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.6` | `22.0.8` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.6` | `22.0.8` |\n| [@lucide/angular](https://github.com/lucide-icons/lucide/tree/HEAD/packages/angular) | `1.25.0` | `1.27.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.7` | `22.0.8` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.7` | `22.0.8` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.6` | `22.0.8` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `30.0.0` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n\n\nUpdates `firebase-admin` from 13.10.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/firebase/firebase-admin-node/releases\"\u003efirebase-admin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.2.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(functions): Implement TaskQueue Scopes (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(dataconnect): Refactor CRUD helpers to use GraphQL variables and \u003ccode\u003e@allow\u003c/code\u003e directive (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3182\"\u003e#3182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 14.2.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3213\"\u003e#3213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump websocket-driver from 0.7.4 to 0.7.5 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 26.0.0 to 26.1.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump nock from 14.0.15 to 14.0.16 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix zizmor findings (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSecurity Audit \u0026amp; Remediation: GitHub Actions (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3192\"\u003e#3192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSecurity audit: remove unused dependencies and remediate dev vulnerabilities (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3191\"\u003e#3191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump mocha from 11.7.5 to 11.7.6 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e from 8.5.1 to 8.5.9 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3195\"\u003e#3195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint from 10.4.1 to 10.5.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump google-auth-library from 10.7.0 to 10.9.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3198\"\u003e#3198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.1.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(fcm): Enable \u003ccode\u003efid\u003c/code\u003e and deprecate \u003ccode\u003etoken\u003c/code\u003e for Send API (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(dataconnect): fix deserialization of emulator gRPC error codes into detailed errors (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3180\"\u003e#3180\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 14.1.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3193\"\u003e#3193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump typescript-eslint packages to 8.62.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.7.0 to 26.0.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3184\"\u003e#3184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​firebase/auth-compat\u003c/code\u003e from 0.6.6 to 0.6.8 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3187\"\u003e#3187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​microsoft/api-extractor\u003c/code\u003e from 7.58.1 to 7.58.9 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​firebase/app-compat\u003c/code\u003e from 0.5.12 to 0.5.13 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump shell-quote from 1.8.3 to 1.8.4 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3173\"\u003e#3173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump \u003ccode\u003e@​google-cloud/storage\u003c/code\u003e from 7.19.0 to 7.21.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump google-auth-library from 10.6.2 to 10.7.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3176\"\u003e#3176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump nyc from 17.1.0 to 18.0.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3177\"\u003e#3177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump \u003ccode\u003e@​grpc/grpc-js\u003c/code\u003e from 1.14.3 to 1.14.4 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\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/firebase/firebase-admin-node/commit/7343f166ec71c2efee5fe0554c2fb96203faf2a5\"\u003e\u003ccode\u003e7343f16\u003c/code\u003e\u003c/a\u003e [chore] Release 14.2.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3213\"\u003e#3213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/07fa1b16bdd4e726774e4f4b4ee6f0517d5f52f9\"\u003e\u003ccode\u003e07fa1b1\u003c/code\u003e\u003c/a\u003e build(deps): bump websocket-driver from 0.7.4 to 0.7.5 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/4681c28a4b0638323a139194069fbef6c9138ec7\"\u003e\u003ccode\u003e4681c28\u003c/code\u003e\u003c/a\u003e feat(functions): Implement TaskQueue Scopes (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/1dae1f90a3891db2c5ca5476b2baea246b7499e4\"\u003e\u003ccode\u003e1dae1f9\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 26.0.0 to 26.1.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/bcae57ae8b919cfa630f190d9de28f91066a6c0d\"\u003e\u003ccode\u003ebcae57a\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump nock from 14.0.15 to 14.0.16 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/b231b7562aae1905a19dc7943c2a70cfd3c0b995\"\u003e\u003ccode\u003eb231b75\u003c/code\u003e\u003c/a\u003e fix zizmor findings (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/ee319691e81ed31ab0701f0fc8fac886e735c2fe\"\u003e\u003ccode\u003eee31969\u003c/code\u003e\u003c/a\u003e fix(dataconnect): Refactor CRUD helpers to use GraphQL variables and \u003ca href=\"https://github.com/allow\"\u003e\u003ccode\u003e@​allow\u003c/code\u003e\u003c/a\u003e d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/c550a22e65cac25be48314cf17512b812b9212eb\"\u003e\u003ccode\u003ec550a22\u003c/code\u003e\u003c/a\u003e Security Audit \u0026amp; Remediation: GitHub Actions (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3192\"\u003e#3192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/ad97c0ca4e93e7b54436b335f915d3b24b8442dc\"\u003e\u003ccode\u003ead97c0c\u003c/code\u003e\u003c/a\u003e Security audit: remove unused dependencies and remediate dev vulnerabilities ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/0cb9f79da4a40be96b86b71b8153c556933f0f14\"\u003e\u003ccode\u003e0cb9f79\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump mocha from 11.7.5 to 11.7.6 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/firebase/firebase-admin-node/compare/v13.10.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdownlint-cli2` from 0.20.0 to 0.23.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md\"\u003emarkdownlint-cli2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.23.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow attempted fix counts after fixing\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (including \u003ccode\u003emarkdownlint\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoverrides\u003c/code\u003e configuration option\u003c/li\u003e\n\u003cli\u003eImprove options/configuration file handling\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (including \u003ccode\u003emarkdownlint\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove support for end-of-life Node 20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.22.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.22.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--config\u003c/code\u003e parameter more flexible\u003c/li\u003e\n\u003cli\u003eSupport TOML with \u003ccode\u003e--config\u003c/code\u003e parameter\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--configPointer\u003c/code\u003e parameter\u003c/li\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor options/configuration file loading\u003c/li\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/b82a6c8896e491b9cb377a99ff3412131920681b\"\u003e\u003ccode\u003eb82a6c8\u003c/code\u003e\u003c/a\u003e Update to version 0.23.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/e4e659ddc65ccef0d59fc70290477d9d04481403\"\u003e\u003ccode\u003ee4e659d\u003c/code\u003e\u003c/a\u003e Add a stub for process.nextTick (using queueMicrotask) now that globby (indir...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/99760afd885666f229cabbed903c65e847aec32e\"\u003e\u003ccode\u003e99760af\u003c/code\u003e\u003c/a\u003e Bump globby from 16.2.1 to 16.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/30702364304667328c694c05ec00ec84abf9b928\"\u003e\u003ccode\u003e3070236\u003c/code\u003e\u003c/a\u003e Address new ESLint warnings from previous commit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/6e3cc93af9c535fb895159223bc8894fcfe3b926\"\u003e\u003ccode\u003e6e3cc93\u003c/code\u003e\u003c/a\u003e Bump eslint-plugin-unicorn from 71.1.0 to 72.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/4ba8177fa71cf21aaeaf937c88bc7f73b0c812fc\"\u003e\u003ccode\u003e4ba8177\u003c/code\u003e\u003c/a\u003e Add eslint-package-json/all to lint script, address new issues.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/9cb99b2c99be6cf17c66eba95967841a0899e961\"\u003e\u003ccode\u003e9cb99b2\u003c/code\u003e\u003c/a\u003e Refactor eslint.config.mjs to use defineConfig, change eslint-plugin-n from \u0026quot;...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/37fb0ecbbca44bf01e5dfef6f783bf402796ca3e\"\u003e\u003ccode\u003e37fb0ec\u003c/code\u003e\u003c/a\u003e Address new ESLint warnings from previous commit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/f7fea61958ed20abe581ad8fa1a53fcb39e36f1c\"\u003e\u003ccode\u003ef7fea61\u003c/code\u003e\u003c/a\u003e Bump eslint-node-test from 0.2.0 to 0.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/85bb5e7f0038fa31520fdea2a0ee3516da81fb2e\"\u003e\u003ccode\u003e85bb5e7\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 5.2.1 to 5.2.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/compare/v0.20.0...v0.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.5 to 3.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003eprettier/prettier#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport defer\u003c/code\u003e in \u003ccode\u003etypescript\u003c/code\u003e parser (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003eprettier/prettier#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003eprettier/prettier#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a new official plugin \u003ca href=\"https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku\"\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e 🚀\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003eprettier/prettier#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003eprettier/prettier#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396\"\u003eChangelog\u003c/a\u003e\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/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.6\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.5...3.9.6\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eTypeScript: Preserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003e#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003e// Input\ninterface Container {\n  \u0026quot;new\u0026quot;(id: string): number;\n}\n\u003cp\u003e// Prettier 3.9.5\u003cbr /\u003e\ninterface Container {\u003cbr /\u003e\nnew(id: string): number;\u003cbr /\u003e\n}\u003c/p\u003e\n\u003cp\u003e// Prettier 3.9.6\u003cbr /\u003e\ninterface Container {\u003cbr /\u003e\n\u0026quot;new\u0026quot;(id: string): number;\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eTypeScript: Support \u003ccode\u003eimport defer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003e#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003e#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003e// Input\nimport defer * as foo from \u0026quot;foo\u0026quot;;\n\u003cp\u003e// Prettier 3.9.5\u003cbr /\u003e\nimport * as foo from \u0026quot;foo\u0026quot;;\u003c/p\u003e\n\u003cp\u003e// Prettier 3.9.6\u003cbr /\u003e\nimport defer * as foo from \u0026quot;foo\u0026quot;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eJavaScript: Added a new official plugin \u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003e#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003e#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e is powered by \u003ca href=\"https://yuku.fyi/\"\u003eYuku\u003c/a\u003e (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).\u003c/p\u003e\n\u003cp\u003eThis plugin includes two new parsers: \u003ccode\u003eyuku\u003c/code\u003e (JavaScript syntax) and \u003ccode\u003eyuku-ts\u003c/code\u003e (TypeScript syntax).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eTo use this plugin:\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eInstall the plugin:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eyarn add --dev prettier @prettier/plugin-yuku\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- 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/prettier/prettier/commit/8f0c95057cc91d5836409466cd9d9af3bb901e84\"\u003e\u003ccode\u003e8f0c950\u003c/code\u003e\u003c/a\u003e Release 3.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/e9107647d0497d8ff1cacbb0f970d4543df77c1c\"\u003e\u003ccode\u003ee910764\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/ec3f1c7bd74495992bc6954323a1a7fc8368808e\"\u003e\u003ccode\u003eec3f1c7\u003c/code\u003e\u003c/a\u003e Update typescript-eslint to v8.65.0 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/73d2efc2c6cba6f579585c88ef171132d90834ec\"\u003e\u003ccode\u003e73d2efc\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.7.0 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19664\"\u003e#19664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dd5e24eabeab1f75ad573c79781e5fd408bcfad3\"\u003e\u003ccode\u003edd5e24e\u003c/code\u003e\u003c/a\u003e Preserve quotes for \u003ccode\u003eTSMethodSignature\u003c/code\u003e nodes named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19621\"\u003e#19621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/c03ab4e71c23154d6b11537eee3c938f0d0f67d3\"\u003e\u003ccode\u003ec03ab4e\u003c/code\u003e\u003c/a\u003e Update dependency eslint-plugin-unicorn to v72 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19633\"\u003e#19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b74dd53076c7208291a6b2e585c310844b41d35f\"\u003e\u003ccode\u003eb74dd53\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.6.5 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19654\"\u003e#19654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f1b594ea1db1520c383d0e281d623551f671f824\"\u003e\u003ccode\u003ef1b594e\u003c/code\u003e\u003c/a\u003e Update dependency eslint-plugin-simple-import-sort to v14 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19655\"\u003e#19655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/0d9dfb61530986373000dd107ea58ceebb79e233\"\u003e\u003ccode\u003e0d9dfb6\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.6.4 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19650\"\u003e#19650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/3bbb8159eb55575d4042653aa99f5f92a1416c19\"\u003e\u003ccode\u003e3bbb815\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003etypescript-only\u003c/code\u003e directory (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19636\"\u003e#19636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.9.5...3.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.10.5 to 2.10.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.10.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.10.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13431\"\u003evercel/turborepo#13431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Refine bug report template help section by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13433\"\u003evercel/turborepo#13433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Verify version after attempting codemod upgrade by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13446\"\u003evercel/turborepo#13446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Characterize JavaScript package discovery by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13440\"\u003evercel/turborepo#13440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Separate package graph node assembly by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13441\"\u003evercel/turborepo#13441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Upgrade \u003ccode\u003e@​vercel/connect\u003c/code\u003e by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13450\"\u003evercel/turborepo#13450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Add authoritative package knowledge by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13442\"\u003evercel/turborepo#13442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Select runnable task entrypoints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13452\"\u003evercel/turborepo#13452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Add workspace root contribution contract by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13447\"\u003evercel/turborepo#13447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use package knowledge for scope selection by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13443\"\u003evercel/turborepo#13443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent mobile homepage overflow by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13453\"\u003evercel/turborepo#13453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Document service readiness probes by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13472\"\u003evercel/turborepo#13472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm root dependencies during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13476\"\u003evercel/turborepo#13476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm aliased dependencies during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13477\"\u003evercel/turborepo#13477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.10.7-canary.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13478\"\u003evercel/turborepo#13478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Add Terminal UI sanity tests by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13475\"\u003evercel/turborepo#13475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Upgrade Next.js by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13482\"\u003evercel/turborepo#13482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Upgrade brace-expansion by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13483\"\u003evercel/turborepo#13483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Support multiple macOS file watch roots by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13484\"\u003evercel/turborepo#13484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.10.6...v2.10.7\"\u003ehttps://github.com/vercel/turborepo/compare/v2.10.6...v2.10.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.10.7-canary.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.10.6-canary.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13424\"\u003evercel/turborepo#13424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Upgrade brace-expansion by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13429\"\u003evercel/turborepo#13429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update tar to 7.5.18 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13428\"\u003evercel/turborepo#13428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Upgrade js-yaml by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13427\"\u003evercel/turborepo#13427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Match JIT inputs for affected tasks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13426\"\u003evercel/turborepo#13426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve project Yarn package extensions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13425\"\u003evercel/turborepo#13425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.10.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13431\"\u003evercel/turborepo#13431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Refine bug report template help section by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13433\"\u003evercel/turborepo#13433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Verify version after attempting codemod upgrade by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13446\"\u003evercel/turborepo#13446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Characterize JavaScript package discovery by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13440\"\u003evercel/turborepo#13440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Separate package graph node assembly by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13441\"\u003evercel/turborepo#13441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Upgrade \u003ccode\u003e@​vercel/connect\u003c/code\u003e by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13450\"\u003evercel/turborepo#13450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Add authoritative package knowledge by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13442\"\u003evercel/turborepo#13442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Select runnable task entrypoints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13452\"\u003evercel/turborepo#13452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Add workspace root contribution contract by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13447\"\u003evercel/turborepo#13447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use package knowledge for scope selection by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13443\"\u003evercel/turborepo#13443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent mobile homepage overflow by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13453\"\u003evercel/turborepo#13453\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/be76f17100093bd5275fad4c0e2d76ad15e88d70\"\u003e\u003ccode\u003ebe76f17\u003c/code\u003e\u003c/a\u003e publish 2.10.7 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2f8a96293bdbd067fc9b1c5bc3d1b7f719f48cb9\"\u003e\u003ccode\u003e2f8a962\u003c/code\u003e\u003c/a\u003e fix: Support multiple macOS file watch roots (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13484\"\u003e#13484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/549fc991af510d16ff3fc12dcf47b0725ca66ac9\"\u003e\u003ccode\u003e549fc99\u003c/code\u003e\u003c/a\u003e chore: Upgrade brace-expansion (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13483\"\u003e#13483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/0a329d616ec88a51ab63f975e86c35a806335b87\"\u003e\u003ccode\u003e0a329d6\u003c/code\u003e\u003c/a\u003e chore: Upgrade Next.js (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13482\"\u003e#13482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/07ebd1d0426336a0fad6e3f1199eabef883a6308\"\u003e\u003ccode\u003e07ebd1d\u003c/code\u003e\u003c/a\u003e test: Add Terminal UI sanity tests (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13475\"\u003e#13475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2a02c34d10a5155febdfaafa692fac74a55f4c46\"\u003e\u003ccode\u003e2a02c34\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.10.7-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13478\"\u003e#13478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/96dc00c672ff45c475504c46cbeac7502b00b02f\"\u003e\u003ccode\u003e96dc00c\u003c/code\u003e\u003c/a\u003e fix: Preserve pnpm aliased dependencies during prune (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13477\"\u003e#13477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/0746adc7485499ce3d328087af64c22a9376db24\"\u003e\u003ccode\u003e0746adc\u003c/code\u003e\u003c/a\u003e fix: Preserve pnpm root dependencies during prune (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13476\"\u003e#13476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/f925b442bd93cbe231fd4278851aefe4c68cc123\"\u003e\u003ccode\u003ef925b44\u003c/code\u003e\u003c/a\u003e docs: Document service readiness probes (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13472\"\u003e#13472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/4778467eebe4801a950f6548d46320f4e7a41dab\"\u003e\u003ccode\u003e4778467\u003c/code\u003e\u003c/a\u003e fix: Prevent mobile homepage overflow (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13453\"\u003e#13453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.10.5...v2.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/swagger` from 11.4.5 to 11.4.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/swagger/releases\"\u003e@​nestjs/swagger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 11.4.6\u003c/h2\u003e\n\u003ch2\u003e11.4.6 (2026-07-17)\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3964\"\u003e#3964\u003c/a\u003e feat(plugin): infer ApiParam enum from \u003ca href=\"https://github.com/Param\"\u003e\u003ccode\u003e@​Param\u003c/code\u003e\u003c/a\u003e literal-union types (\u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3947\"\u003e#3947\u003c/a\u003e fix(type-helpers): preserve array-ness for nested DTO arrays in DeepPartialType (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3945\"\u003e#3945\u003c/a\u003e fix(mimetype-content-wrapper): clone object per mimetype to avoid shared references (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3972\"\u003e#3972\u003c/a\u003e fix: avoid inline PickType schema collisions (\u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3969\"\u003e#3969\u003c/a\u003e fix: Added missing summary type to the response object (\u003ca href=\"https://github.com/MichielDeMey\"\u003e\u003ccode\u003e@​MichielDeMey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3949\"\u003e#3949\u003c/a\u003e feat(api-query): support custom OpenAPI extensions (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3986\"\u003e#3986\u003c/a\u003e fix(deps): update dependency js-yaml to v5 (\u003ca href=\"https://github.com/apps/renovate\"\u003e\u003ccode\u003e@​renovate[bot]\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 4\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eMichiel De Mey (\u003ca href=\"https://github.com/MichielDeMey\"\u003e\u003ccode\u003e@​MichielDeMey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRayan Salhab (\u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYogeshwaran C (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYukihiro Hasegawa (\u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/aec1a2236c07a012500a30662443515c5c40185f\"\u003e\u003ccode\u003eaec1a22\u003c/code\u003e\u003c/a\u003e chore(): release v11.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/f9eec4f9a8e0ed43213577738f03edd89f1614e7\"\u003e\u003ccode\u003ef9eec4f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3986\"\u003e#3986\u003c/a\u003e from nestjs/renovate/js-yaml-5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/b6b6eafca5a13e4e827f68b961bb234dee46591a\"\u003e\u003ccode\u003eb6b6eaf\u003c/code\u003e\u003c/a\u003e chore(deps): support fastify/static v10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/e8912463d55aab2e069d5fea4e7934954e8d7130\"\u003e\u003ccode\u003ee891246\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3949\"\u003e#3949\u003c/a\u003e from yogeshwaran-c/feat/api-query-extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/c8608cfb532e7a7df727a1cf4e57735366d8d92e\"\u003e\u003ccode\u003ec8608cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3947\"\u003e#3947\u003c/a\u003e from yogeshwaran-c/fix/deep-partial-type-array-of-dto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/1f55cc15ae3965e19e9415f688dc0ede3694c641\"\u003e\u003ccode\u003e1f55cc1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3946\"\u003e#3946\u003c/a\u003e from yogeshwaran-c/fix/swagger-html-dollar-substitution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/76b72028200b5f077de7d19f7f87a25e99d3b7ee\"\u003e\u003ccode\u003e76b7202\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4013\"\u003e#4013\u003c/a\u003e from nestjs/renovate/fastify-compress-9.x-lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/f60c7382b6a436504f5fe891a15df7c0b889e8b5\"\u003e\u003ccode\u003ef60c738\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4012\"\u003e#4012\u003c/a\u003e from nestjs/renovate/vite-8.x-lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/e8e0eabad47ccb52ae70c92ffae5dcef9598f656\"\u003e\u003ccode\u003ee8e0eab\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency js-yaml to v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/880a39e812e404f4033afad85eef79732e715553\"\u003e\u003ccode\u003e880a39e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​fastify/compress\u003c/code\u003e to v9.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/swagger/compare/11.4.5...11.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/adapter-pg` from 7.8.0 to 7.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/adapter-pg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.9.1\u003c/h2\u003e\n\u003cp\u003eToday, we're issuing a patch release to resolve a security advisory in a transitive dependency of Prisma CLI (via \u003ccode\u003e@prisma/dev\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eThis fixes \u003ca href=\"https://redirect.github.com/prisma/prisma/issues/29780\"\u003eprisma/prisma#29780\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIt does not actually affect \u003ccode\u003e@prisma/dev\u003c/code\u003e or Prisma CLI so no urgent action is required, but it is recommended to upgrade nevertheless to avoid false positives from security scanners.\u003c/p\u003e\n\u003ch2\u003e7.9.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.9.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eTab completions for the Prisma CLI\u003c/h3\u003e\n\u003cp\u003eTyping out CLI commands from memory is now optional. Prisma ships \u003cstrong\u003eshell tab completions\u003c/strong\u003e for \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003ezsh\u003c/code\u003e, \u003ccode\u003efish\u003c/code\u003e, and PowerShell, covering commands, subcommands, options, flags, and even option values.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSetting it up.\u003c/strong\u003e Most projects run Prisma through a package manager, so completions are enabled through \u003ccode\u003e@bomb.sh/tab\u003c/code\u003e's package-manager integration — install it once, then source the completion for your package manager and shell:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# 1. Install @bomb.sh/tab globally\r\nnpm install -g @bomb.sh/tab\r\n\u003ch1\u003e2. Wire up your package manager + shell (pnpm shown; swap in npm / yarn / bun):\u003c/h1\u003e\n\u003cp\u003eecho 'source \u0026lt;(tab pnpm zsh)'  \u0026gt;\u0026gt; ~/.zshrc            # zsh\u003cbr /\u003e\necho 'source \u0026lt;(tab pnpm bash)' \u0026gt;\u0026gt; ~/.bashrc           # bash\u003cbr /\u003e\ntab pnpm fish \u0026gt; ~/.config/fish/completions/pnpm.fish  # fish\u003cbr /\u003e\ntab pnpm powershell \u0026gt; ~/.tab-pnpm.ps1                 # PowerShell (then dot-source it from $PROFILE)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e delegates to any locally-installed CLI that ships completions, so \u003ccode\u003epnpm prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003epnpm exec prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003eyarn prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, and \u003ccode\u003ebun x prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e all complete Prisma's commands, options, and values — no per-project setup. (\u003ccode\u003enpx\u003c/code\u003e and \u003ccode\u003ebunx\u003c/code\u003e don't support completion themselves; use \u003ccode\u003enpm exec\u003c/code\u003e and \u003ccode\u003ebun x\u003c/code\u003e.)\u003c/p\u003e\n\u003cp\u003eIf instead you have Prisma installed globally on your \u003ccode\u003ePATH\u003c/code\u003e, source its own completion directly: \u003ccode\u003esource \u0026lt;(prisma complete zsh)\u003c/code\u003e (or the \u003ccode\u003ebash\u003c/code\u003e / \u003ccode\u003efish\u003c/code\u003e / \u003ccode\u003epowershell\u003c/code\u003e variant).\u003c/p\u003e\n\u003cp\u003eThis is built on \u003ca href=\"https://github.com/bombshell-dev/tab/\"\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e\u003c/a\u003e, the same completion library that powers other CLIs in the ecosystem — including Cloudflare, Nuxt, and Vitest — so the package-manager completions you enable for Prisma work for those tools too. A wonderful community contribution from \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/28351\"\u003e#28351\u003c/a\u003e) — thank you!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\"\u003ehttps://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003ePrisma ORM, ready for AI agents\u003c/h3\u003e\n\u003cp\u003eCoding agents are now a first-class audience for Prisma, and 7.9.0 brings the first wave of work to make Prisma projects safe and productive for them to work in.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills installed with \u003ccode\u003eprisma init\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29689\"\u003e#29689\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprisma init\u003c/code\u003e now installs the \u003ca href=\"https://github.com/prisma/skills\"\u003eprisma/skills\u003c/a\u003e catalog into freshly scaffolded projects. Agents such as Claude Code, Cursor, Codex, and Windsurf start out with current, version-relevant Prisma knowledge instead of relying on whatever happened to be in their training data. The install is best-effort and never blocks scaffolding; opt out at any time with \u003ccode\u003e--no-skills\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/prisma/prisma/commit/35003fd86c574741cb5d93a57b773ee33015a79c\"\u003e\u003ccode\u003e35003fd\u003c/code\u003e\u003c/a\u003e chore(adapter-pg): remove duplicate values parameter (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29650\"\u003e#29650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/d6d9fc9ed341946d45c7d0aba35081a7bd741aa1\"\u003e\u003ccode\u003ed6d9fc9\u003c/code\u003e\u003c/a\u003e chore: remove parameterization from sqlcommenter-query-insights (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29518\"\u003e#29518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.9.1/packages/adapter-pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 7.8.0 to 7.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.9.1\u003c/h2\u003e\n\u003cp\u003eToday, we're issuing a patch release to resolve a security advisory in a transitive dependency of Prisma CLI (via \u003ccode\u003e@prisma/dev\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eThis fixes \u003ca href=\"https://redirect.github.com/prisma/prisma/issues/29780\"\u003eprisma/prisma#29780\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIt does not actually affect \u003ccode\u003e@prisma/dev\u003c/code\u003e or Prisma CLI so no urgent action is required, but it is recommended to upgrade nevertheless to avoid false positives from security scanners.\u003c/p\u003e\n\u003ch2\u003e7.9.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.9.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eTab completions for the Prisma CLI\u003c/h3\u003e\n\u003cp\u003eTyping out CLI commands from memory is now optional. Prisma ships \u003cstrong\u003eshell tab completions\u003c/strong\u003e for \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003ezsh\u003c/code\u003e, \u003ccode\u003efish\u003c/code\u003e, and PowerShell, covering commands, subcommands, options, flags, and even option values.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSetting it up.\u003c/strong\u003e Most projects run Prisma through a package manager, so completions are enabled through \u003ccode\u003e@bomb.sh/tab\u003c/code\u003e's package-manager integration — install it once, then source the completion for your package manager and shell:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# 1. Install @bomb.sh/tab globally\r\nnpm install -g @bomb.sh/tab\r\n\u003ch1\u003e2. Wire up your package manager + shell (pnpm shown; swap in npm / yarn / bun):\u003c/h1\u003e\n\u003cp\u003eecho 'source \u0026lt;(tab pnpm zsh)'  \u0026gt;\u0026gt; ~/.zshrc            # zsh\u003cbr /\u003e\necho 'source \u0026lt;(tab pnpm bash)' \u0026gt;\u0026gt; ~/.bashrc           # bash\u003cbr /\u003e\ntab pnpm fish \u0026gt; ~/.config/fish/completions/pnpm.fish  # fish\u003cbr /\u003e\ntab pnpm powershell \u0026gt; ~/.tab-pnpm.ps1                 # PowerShell (then dot-source it from $PROFILE)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e delegates to any locally-installed CLI that ships completions, so \u003ccode\u003epnpm prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003epnpm exec prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003eyarn prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, and \u003ccode\u003ebun x prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e all complete Prisma's commands, options, and values — no per-project setup. (\u003ccode\u003enpx\u003c/code\u003e and \u003ccode\u003ebunx\u003c/code\u003e don't support completion themselves; use \u003ccode\u003enpm exec\u003c/code\u003e and \u003ccode\u003ebun x\u003c/code\u003e.)\u003c/p\u003e\n\u003cp\u003eIf instead you have Prisma installed globally on your \u003ccode\u003ePATH\u003c/code\u003e, source its own completion directly: \u003ccode\u003esource \u0026lt;(prisma complete zsh)\u003c/code\u003e (or the \u003ccode\u003ebash\u003c/code\u003e / \u003ccode\u003efish\u003c/code\u003e / \u003ccode\u003epowershell\u003c/code\u003e variant).\u003c/p\u003e\n\u003cp\u003eThis is built on \u003ca href=\"https://github.com/bombshell-dev/tab/\"\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e\u003c/a\u003e, the same completion library that powers other CLIs in the ecosystem — including Cloudflare, Nuxt, and Vitest — so the package-manager completions you enable for Prisma work for those tools too. A wonderful community contribution from \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/28351\"\u003e#28351\u003c/a\u003e) — thank you!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\"\u003ehttps://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003ePrisma ORM, ready for AI agents\u003c/h3\u003e\n\u003cp\u003eCoding agents are now a first-class audience for Prisma, and 7.9.0 brings the first wave of work to make Prisma projects safe and productive for them to work in.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills installed with \u003ccode\u003eprisma init\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29689\"\u003e#29689\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprisma init\u003c/code\u003e now installs the \u003ca href=\"https://github.com/prisma/skills\"\u003eprisma/skills\u003c/a\u003e catalog into freshly scaffolded projects. Agents such as Claude Code, Cursor, Codex, and Windsurf start out with current, version-relevant Prisma knowledge instead of relying on whatever happened to be in their training data. The install is best-effort and never blocks scaffolding; opt out at any time with \u003ccode\u003e--no-skills\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/prisma/prisma/commit/b82985029d44349849dfbb4990bb19278178ee61\"\u003e\u003ccode\u003eb829850\u003c/code\u003e\u003c/a\u003e ci: upgrade pnpm to 11 to restore pnpm audit (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29725\"\u003e#29725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/280fd56f28c53f42fb2dfbc190c3d35d046e19fa\"\u003e\u003ccode\u003e280fd56\u003c/code\u003e\u003c/a\u003e fix(client): mask each quoted string in maskQuery independently (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29723\"\u003e#29723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/4da377494cc27bc0784d3629df21e94989abd153\"\u003e\u003ccode\u003e4da3774\u003c/code\u003e\u003c/a\u003e fix(client): reject invalid raw dates (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29697\"\u003e#29697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/a7cec97b204e734cf30049ee7a39c9b61da085de\"\u003e\u003ccode\u003ea7cec97\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/58f8439d020d70bf7cc9a77cca62dfc95d9ddc0f\"\u003e\u003ccode\u003e58f8439\u003c/code\u003e\u003c/a\u003e fix(client): pin pg-protocol in prisma-client-imports-postgres e2e test (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29687\"\u003e#29687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/918cf5d72c1ba85ed0bb85c50c34d483b02a19e1\"\u003e\u003ccode\u003e918cf5d\u003c/code\u003e\u003c/a\u003e fix(client): improve adapter-related Prisma 7 error messages (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29624\"\u003e#29624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/93da6ea2dcd65b8b4b9d58daf2e2821f1a4e9320\"\u003e\u003ccode\u003e93da6ea\u003c/code\u003e\u003c/a\u003e ci(e2e): shard client e2e suite across 3 jobs to fix chronic timeouts (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29619\"\u003e#29619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/3937779e617c743966ebb50901d013167dd9171e\"\u003e\u003ccode\u003e3937779\u003c/code\u003e\u003c/a\u003e fix: remove duplicate 'the the' in test comments (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29610\"\u003e#29610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/fda8fbce23b3af6b1651bd539da09e62c863ed6e\"\u003e\u003ccode\u003efda8fbc\u003c/code\u003e\u003c/a\u003e chore(deps): bump \u003ccode\u003e@​prisma/dev\u003c/code\u003e to 0.24.9 (resolves hono GHSA-92pp-h63x-v22m) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/0036baf8c9bb0b53e18c04fb27de4acf0535a306\"\u003e\u003ccode\u003e0036baf\u003c/code\u003e\u003c/a\u003e fix(client-engine-runtime): surface unmapped driver errors as user-facing P20...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.9.1/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2` from 0.44.0 to 0.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ranisalt/node-argon2/releases\"\u003eargon2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.45.1\u003c/h2\u003e\n\u003cp\u003eFixes an issue with v0.45.0 where TypeScript generated types for the hash function as returning \u003ccode\u003ePromise\u0026lt;any\u0026gt;\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.45.0...v0.45.1\"\u003ehttps://github.com/ranisalt/node-argon2/compare/v0.45.0...v0.45.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.45.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eDrops support for Node 18 and 20 (probably still works, but isn't tested)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd comparison with node:crypto and clarify parameter usage in README.md by \u003ca href=\"https://github.com/cbodin\"\u003e\u003ccode\u003e@​cbodin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/491\"\u003eranisalt/node-argon2#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compilation on solaris by \u003ca href=\"https://github.com/matt-fidd\"\u003e\u003ccode\u003e@​matt-fidd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/538\"\u003eranisalt/node-argon2#538\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/cbodin\"\u003e\u003ccode\u003e@​cbodin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/491\"\u003eranisalt/node-argon2#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matt-fidd\"\u003e\u003ccode\u003e@​matt-fidd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/538\"\u003eranisalt/node-argon2#538\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\"\u003ehttps://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/786de7152f95881b0683aea1d2ca60ed0d6d9e2f\"\u003e\u003ccode\u003e786de71\u003c/code\u003e\u003c/a\u003e fix: hash function generated types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/e2fe33fedb6811d0d038872c506811f164d11442\"\u003e\u003ccode\u003ee2fe33f\u003c/code\u003e\u003c/a\u003e fix: update Node.js version to latest in publish job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/e27980fce91c0cda602e4e96f2bab0a74a372a76\"\u003e\u003ccode\u003ee27980f\u003c/code\u003e\u003c/a\u003e fix: revert sync to default in freebsd test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/3d0a0b41372fffedfe655f287b69568ecd8498ff\"\u003e\u003ccode\u003e3d0a0b4\u003c/code\u003e\u003c/a\u003e fix: change npm publish to npm stage publish in release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/c61513fffe7dd5a7587bd19181f7aa689482c16e\"\u003e\u003ccode\u003ec61513f\u003c/code\u003e\u003c/a\u003e chore: update actions versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/2bc07331b01c3647db7f55be4a754fb9f4e01d97\"\u003e\u003ccode\u003e2bc0733\u003c/code\u003e\u003c/a\u003e fix: revert sync to default in freebsd build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/b0123794be320b2af3c142ecd9bf6dd3e1c91d64\"\u003e\u003ccode\u003eb012379\u003c/code\u003e\u003c/a\u003e chore: update dependencies and devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/d2edf4e95a8add001b374670a7a00bb1355b8ee6\"\u003e\u003ccode\u003ed2edf4e\u003c/code\u003e\u003c/a\u003e fix(tests): add unicode flag to regex assertions in option tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/0eb1db16644dcbe2fc962ce2c50f2abff535a269\"\u003e\u003ccode\u003e0eb1db1\u003c/code\u003e\u003c/a\u003e Apply npm fixes to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/a09b94ed9586143114fe60f5cb09fc7d2e567c77\"\u003e\u003ccode\u003ea09b94e\u003c/code\u003e\u003c/a\u003e Fix compilation on solaris (\u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/issues/538\"\u003e#538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for argon2 since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint/js` from 9.39.5 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003e@​eslint/js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\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/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.j...\n\n_Description has been truncated_","html_url":"https://github.com/matheusbecker00/OdontoGest/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusbecker00%2FOdontoGest/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"5013518979","node_id":"PR_kwDONTy0Pc74Mv6N","number":485,"state":"closed","title":"chore(deps): Bump the angular-minor group with 8 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-30T20:53:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-29T20:54:19.000Z","updated_at":"2026-07-30T20:53:14.000Z","time_to_close":86333,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"angular-minor","update_count":8,"packages":[{"name":"@angular/common","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"22.0.8","new_version":"22.0.9","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.8","new_version":"22.0.9","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular-minor group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.8` | `22.1.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.8` | `22.1.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.8` | `22.1.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.8` | `22.1.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.8` | `22.1.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.8` | `22.0.9` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.8` | `22.0.9` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.8` | `22.1.0` |\n\nUpdates `@angular/common` from 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/79a37f3d0b690a9e9cc893a10cef4ef4cdce4c3b\"\u003e\u003ccode\u003e79a37f3\u003c/code\u003e\u003c/a\u003e refactor(common): replaces the deprecated positional \u003ccode\u003esubscribe\u003c/code\u003e arguments wi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6dcb534e127d8b9971103596844ca1c0e736596b\"\u003e\u003ccode\u003e6dcb534\u003c/code\u003e\u003c/a\u003e refactor(common): remove duplicate helper function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003ccode\u003eec16a3d\u003c/code\u003e\u003c/a\u003e fix(http): enable xsrf for root-provided HttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003ccode\u003e39e362e\u003c/code\u003e\u003c/a\u003e fix(http): match header values exactly when deleting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003ccode\u003ebe46ca8\u003c/code\u003e\u003c/a\u003e fix(http): preserve immutability of materialized clones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d14696e4308c5cd95cf2184cae3582b52f7c7cf3\"\u003e\u003ccode\u003ed14696e\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3192dccaa3e1488f8bf351864ea48e44a21246aa\"\u003e\u003ccode\u003e3192dcc\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185\"\u003e\u003ccode\u003e359fb50\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6d043f86573e317f20039ccec031d6e63c01b656\"\u003e\u003ccode\u003e6d043f8\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c1829f6d7cc37aec73217a53da1e8314690c8c79\"\u003e\u003ccode\u003ec1829f6\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003ccode\u003e091456a\u003c/code\u003e\u003c/a\u003e fix(core): account for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003ccode\u003e23cf1a8\u003c/code\u003e\u003c/a\u003e fix(core): sanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8201cebc49c2d43307731191479749fb4dc3e854\"\u003e\u003ccode\u003e8201ceb\u003c/code\u003e\u003c/a\u003e refactor(compiler): enforce exhaustive defer trigger handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e\u003ccode\u003e68ac204\u003c/code\u003e\u003c/a\u003e fix(core): ignore processing instruction syntax in templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/da52137724b8cce79b036026fa1aa07bc730389c\"\u003e\u003ccode\u003eda52137\u003c/code\u003e\u003c/a\u003e fix(compiler): parsing of an empty template literal interpolation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003ccode\u003e5bd00ad\u003c/code\u003e\u003c/a\u003e fix(compiler): support foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003ccode\u003e2e442f7\u003c/code\u003e\u003c/a\u003e perf(compiler): do not emit tag name when control flow root is foreign compon...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a19c02706fd84d831298c6e2e37dd19fc1b00e4e\"\u003e\u003ccode\u003ea19c027\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): support foreign imports with isolated declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e\u003ccode\u003e997b772\u003c/code\u003e\u003c/a\u003e fix(compiler): use regular optional chaining expression for safe function cal...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003ccode\u003ed579eca\u003c/code\u003e\u003c/a\u003e feat(compiler): Disable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ada038fca8ec59c90a9b5773e0a1d5411ee67073\"\u003e\u003ccode\u003eada038f\u003c/code\u003e\u003c/a\u003e refactor(core): Migrate more tests off \u003ccode\u003efakeAsync\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003ccode\u003e091456a\u003c/code\u003e\u003c/a\u003e fix(core): account for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003ccode\u003e23cf1a8\u003c/code\u003e\u003c/a\u003e fix(core): sanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5d5b2ea72d03ffc2350e66e202cbca0bf491a5f2\"\u003e\u003ccode\u003e5d5b2ea\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly detect \u003ccode\u003ethen\u003c/code\u003e/\u003ccode\u003eelse\u003c/code\u003e keywords in control flow migr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/350ea416b64c98929bdfbcc1dded220bef0df378\"\u003e\u003ccode\u003e350ea41\u003c/code\u003e\u003c/a\u003e refactor(core): align navigation types with built in ones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49672c437b440564e9c20b77a7ff151fbf316706\"\u003e\u003ccode\u003e49672c4\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly migrate ngClass with mixed space-separated keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3499a1321bfe4801c38744ddb500715486680366\"\u003e\u003ccode\u003e3499a13\u003c/code\u003e\u003c/a\u003e fix(core): ensure SVG animation attributeName is checked case-insensitively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/223e40279f3f6df979a323f79cb370528366c24a\"\u003e\u003ccode\u003e223e402\u003c/code\u003e\u003c/a\u003e fix(migrations): preserve NgClass import on partial migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f034c02e67d25018ca3ff952904d9bcaf43175d4\"\u003e\u003ccode\u003ef034c02\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.1.0-next.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e\u003ccode\u003e0ae6d81\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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/platform-browser` from 22.0.8 to 22.1.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/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg...\n\n_Description has been truncated_","html_url":"https://github.com/starforge-universe/starforge-universe.github.io/pull/485","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/starforge-universe%2Fstarforge-universe.github.io/issues/485","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/485/packages"},{"uuid":"4982661105","node_id":"PR_kwDOPj0rSs72o1Oc","number":5,"state":"open","title":"Bump the angular group 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-07-26T21:43:30.000Z","updated_at":"2026-07-26T21:43:31.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/common","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.19","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.19","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"angular-eslint","old_version":"21.4.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.18` | `22.0.8` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.18` | `22.0.8` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.18` | `22.0.8` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.18` | `22.0.8` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.18` | `22.0.8` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.18` | `22.0.8` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.19` | `22.0.8` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.19` | `22.0.8` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.18` | `22.0.8` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.4.0` | `22.1.0` |\n\nUpdates `@angular/common` from 21.2.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003ccode\u003ec0368f2\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003ccode\u003e9d40f8a\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003ccode\u003e91e33aa\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/20b7dc3023df9ccde232cf9fef1d2b1d3ae68b23\"\u003e\u003ccode\u003e20b7dc3\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/748faa4f95dfdae1570057f7af1bc7031e80a94a\"\u003e\u003ccode\u003e748faa4\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8e6d7f71906e35181577b9e66474695ba3077599\"\u003e\u003ccode\u003e8e6d7f7\u003c/code\u003e\u003c/a\u003e fix(router): use safe hasOwnProperty when parsing query params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb8fb9fe58687fe0f341dc3beb5d0fb469605179\"\u003e\u003ccode\u003eeb8fb9f\u003c/code\u003e\u003c/a\u003e fix(common): use Object.hasOwn in I18nSelectPipe to handle null-prototype and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cd8f472ab4b7d0565fd9c883feaa4be4fee730ef\"\u003e\u003ccode\u003ecd8f472\u003c/code\u003e\u003c/a\u003e docs: add documentation for HttpClient response body size limit and related e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003ccode\u003e8cdc202\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/3854174ec4a25e21abaef4ddd9d968a5b46fc832\"\u003e\u003ccode\u003e3854174\u003c/code\u003e\u003c/a\u003e refactor(compiler): enforce exhaustive defer trigger handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003ccode\u003ec89f71a\u003c/code\u003e\u003c/a\u003e fix(core): ignore processing instruction syntax in templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003ccode\u003e5b516e3\u003c/code\u003e\u003c/a\u003e fix(compiler): parsing of an empty template literal interpolation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd4ddcafed340dbc116df9718f03ee9e16c41c18\"\u003e\u003ccode\u003efd4ddca\u003c/code\u003e\u003c/a\u003e fix(compiler): use regular optional chaining expression for safe function cal...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b5ea3408ce1414c5c93a4d252a298e1ef18f447e\"\u003e\u003ccode\u003eb5ea340\u003c/code\u003e\u003c/a\u003e refactor(compiler): remove \u003ccode\u003evisitAttributeComment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003ccode\u003ef4f7f37\u003c/code\u003e\u003c/a\u003e fix(compiler): remove unused import breaking CI in 22.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/489d1707d79fe91f1c23d905c4ce9f21cfd1ddf2\"\u003e\u003ccode\u003e489d170\u003c/code\u003e\u003c/a\u003e refactor(compiler): desable the legacy template syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39001be266e05d73e90a8acf01d47fcddbfab612\"\u003e\u003ccode\u003e39001be\u003c/code\u003e\u003c/a\u003e refactor(compiler): Move the attribute comment to the HTML AST\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003ccode\u003e388daea\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly migrate ngClass with mixed space-separated keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003ccode\u003e8616ba9\u003c/code\u003e\u003c/a\u003e fix(core): ensure SVG animation attributeName is checked case-insensitively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003ccode\u003ebb39cda\u003c/code\u003e\u003c/a\u003e fix(migrations): preserve NgClass import on partial migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/829d98e9ae08b12a2c4a624a64f87660d6dfde26\"\u003e\u003ccode\u003e829d98e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e881b962cc45ddc7d60da095bac496a7709f25cb\"\u003e\u003ccode\u003ee881b96\u003c/code\u003e\u003c/a\u003e refactor(core): move signal debug graph interfaces to primitives/devtools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1046fd9e56b607ddc3f22ffd86af7c3bddec40ce\"\u003e\u003ccode\u003e1046fd9\u003c/code\u003e\u003c/a\u003e refactor(core): remove deprecated \u003ccode\u003eunregisterTool\u003c/code\u003e from \u003ccode\u003eModelContext\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98\"\u003e\u003ccode\u003e5936ffb\u003c/code\u003e\u003c/a\u003e refactor(core): update WebMCP tool registration to be asynchronous\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c82ae67e3d866daea488c9cb312c45bbb19c7b33\"\u003e\u003ccode\u003ec82ae67\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): allow static attributes for explicit input transforms\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec9b4793e88828257cae38ac75b8e1c5392022ff\"\u003e\u003ccode\u003eec9b479\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003ccode\u003ed302c7a\u003c/code\u003e\u003c/a\u003e fix(forms):  ensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e14ead1093a40200bc1bd4162611dcb9862fc714\"\u003e\u003ccode\u003ee14ead1\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(forms): preserve intermediate number values in signal forms\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003ccode\u003e64d6d47\u003c/code\u003e\u003c/a\u003e fix(forms): preserve intermediate number values in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a6174d5900570ec0ce72683438bdbbc39158f96d\"\u003e\u003ccode\u003ea6174d5\u003c/code\u003e\u003c/a\u003e refactor(forms): warn when a text input receives a null value in Signal Forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98\"\u003e\u003ccode\u003e5936ffb\u003c/code\u003e\u003c/a\u003e refactor(core): update WebMCP tool registration to be asynchronous\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5d06fcb1092d121a8990ef7934bfba0b599ff6f2\"\u003e\u003ccode\u003e5d06fcb\u003c/code\u003e\u003c/a\u003e test(forms): register writeback test control as CVA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003ccode\u003e6cf7446\u003c/code\u003e\u003c/a\u003e fix(forms): prevent stale CVA writeback during debounce\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003ccode\u003e1b99646\u003c/code\u003e\u003c/a\u003e fix(forms): allow multiple async validators\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eca3395019cf019452e2d1b6eacc43555c313e2d\"\u003e\u003ccode\u003eeca3395\u003c/code\u003e\u003c/a\u003e removed console log\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/b34bf0dce855bca3c6dfcf7e19d38b3b39288a16\"\u003e\u003ccode\u003eb34bf0d\u003c/code\u003e\u003c/a\u003e fix(platform-browser): prevent ReDoS in SOURCEMAP_URL_REGEXP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab18f5ff0bfdd7ef5f3050c1a271c1553b30f608\"\u003e\u003ccode\u003eab18f5f\u003c/code\u003e\u003c/a\u003e refactor(core): cleanup Meta service\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/748faa4f95dfdae1570057f7af1bc7031e80a94a\"\u003e\u003ccode\u003e748faa4\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/97197786b3d77154ace1c8e638c12ccc12b4610f\"\u003e\u003ccode\u003e9719778\u003c/code\u003e\u003c/a\u003e docs: add NG05200 error reference page for SANITIZATION_UNSAFE_SCRIPT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d536d7a8479f7360de822e8ec905a8d3a26efdd\"\u003e\u003ccode\u003e3d536d7\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f598dcfda0d2c13eca237b6a2ed7006361b0506a\"\u003e\u003ccode\u003ef598dcf\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05101\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/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/0d9a245345c5bb3013849d924efbfa3676b520a0\"\u003e\u003ccode\u003e0d9a245\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\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.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/...\n\n_Description has been truncated_","html_url":"https://github.com/Baylox/portfoliot/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baylox%2Fportfoliot/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4978420155","node_id":"PR_kwDORvJjTc72b4y6","number":58,"state":"open","title":"chore(deps): bump the npm-dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-26T00:42:50.000Z","updated_at":"2026-07-26T00:43:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":26,"packages":[{"name":"@angular/animations","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.14","new_version":"22.0.6","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@primeuix/themes","old_version":"2.0.3","new_version":"3.0.0","repository_url":"https://github.com/primefaces/primeuix"},{"name":"ng2-charts","old_version":"8.0.0","new_version":"10.0.0","repository_url":"https://github.com/valor-software/ng2-charts"},{"name":"ngx-extended-pdf-viewer","old_version":"25.6.4","new_version":"28.1.0","repository_url":"https://github.com/stephanrauh/ngx-extended-pdf-viewer"},{"name":"ngx-infinite-scroll","old_version":"21.0.0","new_version":"22.0.0","repository_url":"https://github.com/orizens/ngx-infinite-scroll"},{"name":"ngx-sse-client","old_version":"20.0.1","new_version":"21.0.0","repository_url":"https://github.com/marcospds/ngx-sse-client"},{"name":"primeicons","old_version":"7.0.0","new_version":"8.0.0","repository_url":"https://github.com/primefaces/primeicons"},{"name":"primeng","old_version":"21.1.9","new_version":"22.0.0","repository_url":"https://github.com/primefaces/primeng"},{"name":"uuid","old_version":"11.1.1","new_version":"14.0.1","repository_url":"https://github.com/uuidjs/uuid"},{"name":"@angular/build","old_version":"21.2.19","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.19","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@types/node","old_version":"25.9.5","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"angular-eslint","old_version":"21.4.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"eslint","old_version":"9.39.5","new_version":"10.8.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 26 updates in the /booklore-ui directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.18` | `22.0.8` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.14` | `22.0.6` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.18` | `22.0.8` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.18` | `22.0.8` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.18` | `22.0.8` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.18` | `22.0.8` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.18` | `22.0.8` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.18` | `22.0.8` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.18` | `22.0.8` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.18` | `22.0.8` |\n| [@primeuix/themes](https://github.com/primefaces/primeuix/tree/HEAD/packages/themes) | `2.0.3` | `3.0.0` |\n| [ng2-charts](https://github.com/valor-software/ng2-charts) | `8.0.0` | `10.0.0` |\n| [ngx-extended-pdf-viewer](https://github.com/stephanrauh/ngx-extended-pdf-viewer) | `25.6.4` | `28.1.0` |\n| [ngx-infinite-scroll](https://github.com/orizens/ngx-infinite-scroll) | `21.0.0` | `22.0.0` |\n| [ngx-sse-client](https://github.com/marcospds/ngx-sse-client) | `20.0.1` | `21.0.0` |\n| [primeicons](https://github.com/primefaces/primeicons/tree/HEAD/packages/primeicons) | `7.0.0` | `8.0.0` |\n| [primeng](https://github.com/primefaces/primeng/tree/HEAD/packages/primeng) | `21.1.9` | `22.0.0` |\n| [uuid](https://github.com/uuidjs/uuid) | `11.1.1` | `14.0.1` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.19` | `22.0.8` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.19` | `22.0.8` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.18` | `22.0.8` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.5` | `26.1.1` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.4.0` | `22.1.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.5` | `10.8.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n\n\nUpdates `@angular/animations` from 21.2.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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.8/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.14 to 22.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.6\u003c/h2\u003e\n\u003ch3\u003ematerial-luxon-adapter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\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/6e5acc1ecbed97c307a333f79064927534a8794d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6e5acc1ecb-fix-green\" alt=\"fix - 6e5acc1ecb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/issues/33564\"\u003e#33564\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/842bc940b8dd3f1e69c460e724921a5f4ababede\"\u003e\u003cimg src=\"https://img.shields.io/badge/842bc940b8-fix-green\" alt=\"fix - 842bc940b8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/issues/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b5224c68f1ef1b996462a305d98387c564c36a83\"\u003e\u003cimg src=\"https://img.shields.io/badge/b5224c68f1-fix-green\" alt=\"fix - b5224c68f1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/354f1ac17dc8365dacc61a02f3288dc73f676bb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/354f1ac17d-fix-green\" alt=\"fix - 354f1ac17d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d9fcaced4950ce6f3d7f759bbeab18134217dbce\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9fcaced49-fix-green\" alt=\"fix - d9fcaced49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33554\"\u003e#33554\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.5\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d26e8920219e4ea0b02814d362cb9f3b7ecf647f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d26e892021-fix-green\" alt=\"fix - d26e892021\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e match focus indicator shape to FAB (\u003ca href=\"https://redirect.github.com/angular/components/issues/33527\"\u003e#33527\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ea89b9c37f6214efc7b2d59decc308246f1ce21a\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea89b9c37f-fix-green\" alt=\"fix - ea89b9c37f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e use rounded shape for calendar focus indicators (\u003ca href=\"https://redirect.github.com/angular/components/issues/33524\"\u003e#33524\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/092b55aa673edc872ea1bdbd3e120001597e975f\"\u003e\u003cimg src=\"https://img.shields.io/badge/092b55aa67-fix-green\" alt=\"fix - 092b55aa67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e double focus indicators when strong focus is enabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33520\"\u003e#33520\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e93bc9e5d6f1b511a9e845fc26c8c2df537260ab\"\u003e\u003cimg src=\"https://img.shields.io/badge/e93bc9e5d6-fix-green\" alt=\"fix - e93bc9e5d6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e add border radius to header hover state in m2 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33529\"\u003e#33529\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1059f80cef9ad3348c7c859e6dba36a44bfe8abc\"\u003e\u003cimg src=\"https://img.shields.io/badge/1059f80cef-fix-green\" alt=\"fix - 1059f80cef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eoverlay:\u003c/strong\u003e guard against null document.body before popover support check (\u003ca href=\"https://redirect.github.com/angular/components/issues/33403\"\u003e#33403\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/adbf93559e2c5ed517bf5867cd7b6cec267bfc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/adbf93559e-fix-green\" alt=\"fix - adbf93559e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eprivate:\u003c/strong\u003e guard createPolicy against DOM clobbering (\u003ca href=\"https://redirect.github.com/angular/components/issues/33410\"\u003e#33410\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e74c69be33ab44f883ac083d369903784e5cb253\"\u003e\u003cimg src=\"https://img.shields.io/badge/e74c69be33-fix-green\" alt=\"fix - e74c69be33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e closing immediately when opening programmatically with zone.js (\u003ca href=\"https://redirect.github.com/angular/components/issues/33518\"\u003e#33518\u003c/a\u003e)\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\u003eDescription\u003c/th\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/b2620abaa20fe494c77438d0df41a56effd577e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/b2620abaa2-fix-green\" alt=\"fix - b2620abaa2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass form field to error state tracker (\u003ca href=\"https://redirect.github.com/angular/components/issues/33509\"\u003e#33509\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.4\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/c86b024e3f48b4a78aa6c3d041089683bfbba353\"\u003e\u003cimg src=\"https://img.shields.io/badge/c86b024e3-fix-green\" alt=\"fix - c86b024e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecore:\u003c/strong\u003e rework error state matcher to handle signal forms (\u003ca href=\"https://redirect.github.com/angular/components/issues/33500\"\u003e#33500\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/918090a07642cfd16336d2b7f366dfb9830a5597\"\u003e\u003cimg src=\"https://img.shields.io/badge/918090a07-fix-green\" alt=\"fix - 918090a07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elistbox:\u003c/strong\u003e allow navigation to specific index (\u003ca href=\"https://redirect.github.com/angular/components/issues/33485\"\u003e#33485\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.6 \u0026quot;plaid-panda\u0026quot; (2026-07-22)\u003c/h1\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/d9fcaced4950ce6f3d7f759bbeab18134217dbce\"\u003ed9fcaced49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/pull/33554\"\u003e#33554\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/842bc940b8dd3f1e69c460e724921a5f4ababede\"\u003e842bc940b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/pull/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b5224c68f1ef1b996462a305d98387c564c36a83\"\u003eb5224c68f1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/pull/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/354f1ac17dc8365dacc61a02f3288dc73f676bb8\"\u003e354f1ac17d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/pull/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial-luxon-adapter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\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/6e5acc1ecbed97c307a333f79064927534a8794d\"\u003e6e5acc1ecb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/pull/33564\"\u003e#33564\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.1.0-next.4 \u0026quot;plastic box\u0026quot; (2026-07-15)\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/def7bc2a69fb5722da681468e2638a2dceadb3ab\"\u003edef7bc2a69\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e closing immediately when opening programmatically with zone.js (\u003ca href=\"https://redirect.github.com/angular/components/pull/33518\"\u003e#33518\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/67a5031db78e1e6e6e683b864a49e47c38ab81bd\"\u003e67a5031db7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eoverlay:\u003c/strong\u003e guard against null document.body before popover support check (\u003ca href=\"https://redirect.github.com/angular/components/pull/33403\"\u003e#33403\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c069cab23ca5d1e4faf277e755c543efcca2b45a\"\u003ec069cab23c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eprivate:\u003c/strong\u003e guard createPolicy against DOM clobbering (\u003ca href=\"https://redirect.github.com/angular/components/pull/33410\"\u003e#33410\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/d324696863cfc4ee7f4475499d7f0dbed8496d74\"\u003ed324696863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e match focus indicator shape to FAB (\u003ca href=\"https://redirect.github.com/angular/components/pull/33527\"\u003e#33527\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9a247a8da23f2c9d5ed03c68d21659f814ae29c6\"\u003e9a247a8da2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e use rounded shape for calendar focus indicators (\u003ca href=\"https://redirect.github.com/angular/components/pull/33524\"\u003e#33524\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/14d896a9366bca6df253af2aade8de4c09f98ba7\"\u003e14d896a936\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e double focus indicators when strong focus is enabled (\u003ca href=\"https://redirect.github.com/angular/components/pull/33520\"\u003e#33520\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c729db79725e819d0ecd3e08cdd0cd876ddae755\"\u003ec729db7972\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e add border radius to header hover state in m2 (\u003ca href=\"https://redirect.github.com/angular/components/pull/33529\"\u003e#33529\u003c/a\u003e)\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/ebd64a1bf8409feede16bef532acf8ffe903d6f0\"\u003eebd64a1bf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass form field to error state tracker (\u003ca href=\"https://redirect.github.com/angular/components/pull/33509\"\u003e#33509\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.5 \u0026quot;plastic bottle\u0026quot; (2026-07-15)\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/e74c69be33ab44f883ac083d369903784e5cb253\"\u003ee74c69be33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e closing immediately when opening programmatically with zone.js (\u003ca href=\"https://redirect.github.com/angular/components/pull/33518\"\u003e#33518\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\u003c!-- 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/f47322743cd98bed8fca3378bb66841f336e48c4\"\u003e\u003ccode\u003ef473227\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/6e5acc1ecbed97c307a333f79064927534a8794d\"\u003e\u003ccode\u003e6e5acc1\u003c/code\u003e\u003c/a\u003e fix(material-luxon-adapter): preserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/issues/33564\"\u003e#33564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/935483347f58221831afaa425cde3f1f54a2eeaf\"\u003e\u003ccode\u003e9354833\u003c/code\u003e\u003c/a\u003e docs: convert Stepper/Tabs/Timepicker example to signals (\u003ca href=\"https://redirect.github.com/angular/components/issues/33536\"\u003e#33536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d9fcaced4950ce6f3d7f759bbeab18134217dbce\"\u003e\u003ccode\u003ed9fcace\u003c/code\u003e\u003c/a\u003e fix(cdk/drag-drop): reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33554\"\u003e#33554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b5224c68f1ef1b996462a305d98387c564c36a83\"\u003e\u003ccode\u003eb5224c6\u003c/code\u003e\u003c/a\u003e fix(material/list): make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33544\"\u003e#33544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e493c985ac022a04e7f8444c215f1260e80a866b\"\u003e\u003ccode\u003ee493c98\u003c/code\u003e\u003c/a\u003e refactor(material-experimental/column-resize): switch tests away from fakeAsy...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/354f1ac17dc8365dacc61a02f3288dc73f676bb8\"\u003e\u003ccode\u003e354f1ac\u003c/code\u003e\u003c/a\u003e fix(material/radio): avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33558\"\u003e#33558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/8bce120294cabe0b0f0415dc6f69b4a4e4d9281d\"\u003e\u003ccode\u003e8bce120\u003c/code\u003e\u003c/a\u003e test(cdk/menu): switch away from fakeAsync (\u003ca href=\"https://redirect.github.com/angular/components/issues/33550\"\u003e#33550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/842bc940b8dd3f1e69c460e724921a5f4ababede\"\u003e\u003ccode\u003e842bc94\u003c/code\u003e\u003c/a\u003e fix(material/expansion): always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/issues/33542\"\u003e#33542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/98cc317dc40f0925c2d6c0c5f251cf672c5eb2ee\"\u003e\u003ccode\u003e98cc317\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33540\"\u003e#33540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.2.14...v22.0.6\"\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.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003ccode\u003ec0368f2\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003ccode\u003e9d40f8a\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003ccode\u003e91e33aa\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/20b7dc3023df9ccde232cf9fef1d2b1d3ae68b23\"\u003e\u003ccode\u003e20b7dc3\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/748faa4f95dfdae1570057f7af1bc7031e80a94a\"\u003e\u003ccode\u003e748faa4\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8e6d7f71906e35181577b9e66474695ba3077599\"\u003e\u003ccode\u003e8e6d7f7\u003c/code\u003e\u003c/a\u003e fix(router): use safe hasOwnProperty when parsing query params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb8fb9fe58687fe0f341dc3beb5d0fb469605179\"\u003e\u003ccode\u003eeb8fb9f\u003c/code\u003e\u003c/a\u003e fix(common): use Object.hasOwn in I18nSelectPipe to handle null-prototype and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cd8f472ab4b7d0565fd9c883feaa4be4fee730ef\"\u003e\u003ccode\u003ecd8f472\u003c/code\u003e\u003c/a\u003e docs: add documentation for HttpClient response body size limit and related e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003ccode\u003e8cdc202\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/3854174ec4a25e21abaef4ddd9d968a5b46fc832\"\u003e\u003ccode\u003e3854174\u003c/code\u003e\u003c/a\u003e refactor(compiler): enforce exhaustive defer trigger handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003ccode\u003ec89f71a\u003c/code\u003e\u003c/a\u003e fix(core): ignore processing instruction syntax in templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003ccode\u003e5b516e3\u003c/code\u003e\u003c/a\u003e fix(compiler): parsing of an empty template literal interpolation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd4ddcafed340dbc116df9718f03ee9e16c41c18\"\u003e\u003ccode\u003efd4ddca\u003c/code\u003e\u003c/a\u003e fix(compiler): use regular optional chaining expression for safe function cal...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b5ea3408ce1414c5c93a4d252a298e1ef18f447e\"\u003e\u003ccode\u003eb5ea340\u003c/code\u003e\u003c/a\u003e refactor(compiler): remove \u003ccode\u003evisitAttributeComment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003ccode\u003ef4f7f37\u003c/code\u003e\u003c/a\u003e fix(compiler): remove unused import breaking CI in 22.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/489d1707d79fe91f1c23d905c4ce9f21cfd1ddf2\"\u003e\u003ccode\u003e489d170\u003c/code\u003e\u003c/a\u003e refactor(compiler): desable the legacy template syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39001be266e05d73e90a8acf01d47fcddbfab612\"\u003e\u003ccode\u003e39001be\u003c/code\u003e\u003c/a\u003e refactor(compiler): Move the attribute comment to the HTML AST\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003ccode\u003e388daea\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly migrate ngClass with mixed space-separated keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003ccode\u003e8616ba9\u003c/code\u003e\u003c/a\u003e fix(core): ensure SVG animation attributeName is checked case-insensitively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003ccode\u003ebb39cda\u003c/code\u003e\u003c/a\u003e fix(migrations): preserve NgClass import on partial migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/829d98e9ae08b12a2c4a624a64f87660d6dfde26\"\u003e\u003ccode\u003e829d98e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e881b962cc45ddc7d60da095bac496a7709f25cb\"\u003e\u003ccode\u003ee881b96\u003c/code\u003e\u003c/a\u003e refactor(core): move signal debug graph interfaces to primitives/devtoo...\n\n_Description has been truncated_","html_url":"https://github.com/cdome/ollumi/pull/58","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/58","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/58/packages"},{"uuid":"4939542249","node_id":"PR_kwDOTa-Mvs70YwdK","number":10,"state":"open","title":"chore(deps): bump the javascript-dependencies group across 1 directory with 25 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-07-21T13:45:50.000Z","updated_at":"2026-07-21T13:46:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"javascript-dependencies","update_count":25,"packages":[{"name":"firebase-admin","old_version":"13.10.0","new_version":"14.2.0","repository_url":"https://github.com/firebase/firebase-admin-node"},{"name":"markdownlint-cli2","old_version":"0.20.0","new_version":"0.23.1","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"prettier","old_version":"3.9.5","new_version":"3.9.6","repository_url":"https://github.com/prettier/prettier"},{"name":"@nestjs/swagger","old_version":"11.4.5","new_version":"11.4.6","repository_url":"https://github.com/nestjs/swagger"},{"name":"@prisma/adapter-pg","old_version":"7.8.0","new_version":"7.9.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@prisma/client","old_version":"7.8.0","new_version":"7.9.0","repository_url":"https://github.com/prisma/prisma"},{"name":"argon2","old_version":"0.44.0","new_version":"0.45.0","repository_url":"https://github.com/ranisalt/node-argon2"},{"name":"@eslint/js","old_version":"9.39.5","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@types/node","old_version":"24.10.13","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/pg","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/supertest","old_version":"7.2.0","new_version":"7.2.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint","old_version":"9.39.2","new_version":"10.7.0","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.3.0","new_version":"17.7.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"prisma","old_version":"7.8.0","new_version":"7.9.0","repository_url":"https://github.com/prisma/prisma"},{"name":"tsx","old_version":"4.21.0","new_version":"4.23.1","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript-eslint","old_version":"8.64.0","new_version":"8.65.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@angular/common","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the javascript-dependencies group with 25 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [firebase-admin](https://github.com/firebase/firebase-admin-node) | `13.10.0` | `14.2.0` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.20.0` | `0.23.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.5` | `3.9.6` |\n| [@nestjs/swagger](https://github.com/nestjs/swagger) | `11.4.5` | `11.4.6` |\n| [@prisma/adapter-pg](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg) | `7.8.0` | `7.9.0` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.8.0` | `7.9.0` |\n| [argon2](https://github.com/ranisalt/node-argon2) | `0.44.0` | `0.45.0` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.5` | `10.0.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.10.13` | `26.1.1` |\n| [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) | `8.18.0` | `8.20.0` |\n| [@types/supertest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/supertest) | `7.2.0` | `7.2.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.7.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.7.0` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.8.0` | `7.9.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.23.1` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.64.0` | `8.65.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.6` | `22.0.7` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.6` | `22.0.7` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.6` | `22.0.7` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.6` | `22.0.7` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.6` | `22.0.7` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.6` | `22.0.7` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.6` | `22.0.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n\n\nUpdates `firebase-admin` from 13.10.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/firebase/firebase-admin-node/releases\"\u003efirebase-admin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.2.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(functions): Implement TaskQueue Scopes (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(dataconnect): Refactor CRUD helpers to use GraphQL variables and \u003ccode\u003e@allow\u003c/code\u003e directive (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3182\"\u003e#3182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 14.2.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3213\"\u003e#3213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump websocket-driver from 0.7.4 to 0.7.5 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 26.0.0 to 26.1.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump nock from 14.0.15 to 14.0.16 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix zizmor findings (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSecurity Audit \u0026amp; Remediation: GitHub Actions (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3192\"\u003e#3192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSecurity audit: remove unused dependencies and remediate dev vulnerabilities (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3191\"\u003e#3191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump mocha from 11.7.5 to 11.7.6 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e from 8.5.1 to 8.5.9 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3195\"\u003e#3195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint from 10.4.1 to 10.5.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump google-auth-library from 10.7.0 to 10.9.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3198\"\u003e#3198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.1.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(fcm): Enable \u003ccode\u003efid\u003c/code\u003e and deprecate \u003ccode\u003etoken\u003c/code\u003e for Send API (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(dataconnect): fix deserialization of emulator gRPC error codes into detailed errors (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3180\"\u003e#3180\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 14.1.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3193\"\u003e#3193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump typescript-eslint packages to 8.62.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.7.0 to 26.0.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3184\"\u003e#3184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​firebase/auth-compat\u003c/code\u003e from 0.6.6 to 0.6.8 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3187\"\u003e#3187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​microsoft/api-extractor\u003c/code\u003e from 7.58.1 to 7.58.9 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​firebase/app-compat\u003c/code\u003e from 0.5.12 to 0.5.13 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump shell-quote from 1.8.3 to 1.8.4 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3173\"\u003e#3173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump \u003ccode\u003e@​google-cloud/storage\u003c/code\u003e from 7.19.0 to 7.21.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump google-auth-library from 10.6.2 to 10.7.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3176\"\u003e#3176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump nyc from 17.1.0 to 18.0.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3177\"\u003e#3177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump \u003ccode\u003e@​grpc/grpc-js\u003c/code\u003e from 1.14.3 to 1.14.4 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\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/firebase/firebase-admin-node/commit/7343f166ec71c2efee5fe0554c2fb96203faf2a5\"\u003e\u003ccode\u003e7343f16\u003c/code\u003e\u003c/a\u003e [chore] Release 14.2.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3213\"\u003e#3213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/07fa1b16bdd4e726774e4f4b4ee6f0517d5f52f9\"\u003e\u003ccode\u003e07fa1b1\u003c/code\u003e\u003c/a\u003e build(deps): bump websocket-driver from 0.7.4 to 0.7.5 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/4681c28a4b0638323a139194069fbef6c9138ec7\"\u003e\u003ccode\u003e4681c28\u003c/code\u003e\u003c/a\u003e feat(functions): Implement TaskQueue Scopes (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/1dae1f90a3891db2c5ca5476b2baea246b7499e4\"\u003e\u003ccode\u003e1dae1f9\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 26.0.0 to 26.1.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/bcae57ae8b919cfa630f190d9de28f91066a6c0d\"\u003e\u003ccode\u003ebcae57a\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump nock from 14.0.15 to 14.0.16 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/b231b7562aae1905a19dc7943c2a70cfd3c0b995\"\u003e\u003ccode\u003eb231b75\u003c/code\u003e\u003c/a\u003e fix zizmor findings (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/ee319691e81ed31ab0701f0fc8fac886e735c2fe\"\u003e\u003ccode\u003eee31969\u003c/code\u003e\u003c/a\u003e fix(dataconnect): Refactor CRUD helpers to use GraphQL variables and \u003ca href=\"https://github.com/allow\"\u003e\u003ccode\u003e@​allow\u003c/code\u003e\u003c/a\u003e d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/c550a22e65cac25be48314cf17512b812b9212eb\"\u003e\u003ccode\u003ec550a22\u003c/code\u003e\u003c/a\u003e Security Audit \u0026amp; Remediation: GitHub Actions (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3192\"\u003e#3192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/ad97c0ca4e93e7b54436b335f915d3b24b8442dc\"\u003e\u003ccode\u003ead97c0c\u003c/code\u003e\u003c/a\u003e Security audit: remove unused dependencies and remediate dev vulnerabilities ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/0cb9f79da4a40be96b86b71b8153c556933f0f14\"\u003e\u003ccode\u003e0cb9f79\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump mocha from 11.7.5 to 11.7.6 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/firebase/firebase-admin-node/compare/v13.10.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdownlint-cli2` from 0.20.0 to 0.23.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md\"\u003emarkdownlint-cli2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow attempted fix counts after fixing\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (including \u003ccode\u003emarkdownlint\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoverrides\u003c/code\u003e configuration option\u003c/li\u003e\n\u003cli\u003eImprove options/configuration file handling\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (including \u003ccode\u003emarkdownlint\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove support for end-of-life Node 20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.22.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.22.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--config\u003c/code\u003e parameter more flexible\u003c/li\u003e\n\u003cli\u003eSupport TOML with \u003ccode\u003e--config\u003c/code\u003e parameter\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--configPointer\u003c/code\u003e parameter\u003c/li\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor options/configuration file loading\u003c/li\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/06f92c99e930c11230426b5edd775021d25e08a8\"\u003e\u003ccode\u003e06f92c9\u003c/code\u003e\u003c/a\u003e Update to version 0.23.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/a77352640f8667a658349c68d14db1368c6b22ba\"\u003e\u003ccode\u003ea773526\u003c/code\u003e\u003c/a\u003e Freshen list of external custom rules included with the markdownlint-cli2-rul...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/437b0caae2b2f39d061309567f99f9c23eb1f1e5\"\u003e\u003ccode\u003e437b0ca\u003c/code\u003e\u003c/a\u003e Bump eslint-plugin-jsdoc from 63.0.11 to 63.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/5463e0fa275b9105ed02dbae9ea6848d062d1c1e\"\u003e\u003ccode\u003e5463e0f\u003c/code\u003e\u003c/a\u003e Bump eslint-plugin-unicorn from 70.0.0 to 71.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/b04ac138a26acc3f65a5e5482825cc938885b7b9\"\u003e\u003ccode\u003eb04ac13\u003c/code\u003e\u003c/a\u003e Bump globby from 16.2.0 to 16.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/1e63f97b080fc2aac9a426379e96e82542cf78a8\"\u003e\u003ccode\u003e1e63f97\u003c/code\u003e\u003c/a\u003e Revert commit afb7d9898724f0d96279116bbb6f0d1026fff8df \u0026quot;Pin CI workflow's pnp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/040594ba722e8d319c2e172bf9771d1ba8474d51\"\u003e\u003ccode\u003e040594b\u003c/code\u003e\u003c/a\u003e Update dependency: markdownlint to 0.41.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/4d97fa85a1eff2af23011c7f4838738332847f64\"\u003e\u003ccode\u003e4d97fa8\u003c/code\u003e\u003c/a\u003e Address new ESLint warnings from previous commit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/50cb033a960853cde873c8895849cae94e9f0db7\"\u003e\u003ccode\u003e50cb033\u003c/code\u003e\u003c/a\u003e Bump eslint-node-test from 0.1.0 to 0.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/a53bf04386f8980a027bbb2ed198a5361dbe2b55\"\u003e\u003ccode\u003ea53bf04\u003c/code\u003e\u003c/a\u003e Bump eslint-plugin-jsdoc from 63.0.10 to 63.0.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/compare/v0.20.0...v0.23.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.5 to 3.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003eprettier/prettier#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport defer\u003c/code\u003e in \u003ccode\u003etypescript\u003c/code\u003e parser (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003eprettier/prettier#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003eprettier/prettier#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a new official plugin \u003ca href=\"https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku\"\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e 🚀\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003eprettier/prettier#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003eprettier/prettier#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396\"\u003eChangelog\u003c/a\u003e\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/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.6\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.5...3.9.6\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eTypeScript: Preserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003e#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003e// Input\ninterface Container {\n  \u0026quot;new\u0026quot;(id: string): number;\n}\n\u003cp\u003e// Prettier 3.9.5\u003cbr /\u003e\ninterface Container {\u003cbr /\u003e\nnew(id: string): number;\u003cbr /\u003e\n}\u003c/p\u003e\n\u003cp\u003e// Prettier 3.9.6\u003cbr /\u003e\ninterface Container {\u003cbr /\u003e\n\u0026quot;new\u0026quot;(id: string): number;\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eTypeScript: Support \u003ccode\u003eimport defer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003e#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003e#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003e// Input\nimport defer * as foo from \u0026quot;foo\u0026quot;;\n\u003cp\u003e// Prettier 3.9.5\u003cbr /\u003e\nimport * as foo from \u0026quot;foo\u0026quot;;\u003c/p\u003e\n\u003cp\u003e// Prettier 3.9.6\u003cbr /\u003e\nimport defer * as foo from \u0026quot;foo\u0026quot;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eJavaScript: Added a new official plugin \u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003e#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003e#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e is powered by \u003ca href=\"https://yuku.fyi/\"\u003eYuku\u003c/a\u003e (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).\u003c/p\u003e\n\u003cp\u003eThis plugin includes two new parsers: \u003ccode\u003eyuku\u003c/code\u003e (JavaScript syntax) and \u003ccode\u003eyuku-ts\u003c/code\u003e (TypeScript syntax).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eTo use this plugin:\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eInstall the plugin:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eyarn add --dev prettier @prettier/plugin-yuku\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- 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/prettier/prettier/commit/8f0c95057cc91d5836409466cd9d9af3bb901e84\"\u003e\u003ccode\u003e8f0c950\u003c/code\u003e\u003c/a\u003e Release 3.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/e9107647d0497d8ff1cacbb0f970d4543df77c1c\"\u003e\u003ccode\u003ee910764\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/ec3f1c7bd74495992bc6954323a1a7fc8368808e\"\u003e\u003ccode\u003eec3f1c7\u003c/code\u003e\u003c/a\u003e Update typescript-eslint to v8.65.0 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/73d2efc2c6cba6f579585c88ef171132d90834ec\"\u003e\u003ccode\u003e73d2efc\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.7.0 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19664\"\u003e#19664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dd5e24eabeab1f75ad573c79781e5fd408bcfad3\"\u003e\u003ccode\u003edd5e24e\u003c/code\u003e\u003c/a\u003e Preserve quotes for \u003ccode\u003eTSMethodSignature\u003c/code\u003e nodes named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19621\"\u003e#19621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/c03ab4e71c23154d6b11537eee3c938f0d0f67d3\"\u003e\u003ccode\u003ec03ab4e\u003c/code\u003e\u003c/a\u003e Update dependency eslint-plugin-unicorn to v72 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19633\"\u003e#19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b74dd53076c7208291a6b2e585c310844b41d35f\"\u003e\u003ccode\u003eb74dd53\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.6.5 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19654\"\u003e#19654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f1b594ea1db1520c383d0e281d623551f671f824\"\u003e\u003ccode\u003ef1b594e\u003c/code\u003e\u003c/a\u003e Update dependency eslint-plugin-simple-import-sort to v14 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19655\"\u003e#19655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/0d9dfb61530986373000dd107ea58ceebb79e233\"\u003e\u003ccode\u003e0d9dfb6\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.6.4 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19650\"\u003e#19650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/3bbb8159eb55575d4042653aa99f5f92a1416c19\"\u003e\u003ccode\u003e3bbb815\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003etypescript-only\u003c/code\u003e directory (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19636\"\u003e#19636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.9.5...3.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/swagger` from 11.4.5 to 11.4.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/swagger/releases\"\u003e@​nestjs/swagger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 11.4.6\u003c/h2\u003e\n\u003ch2\u003e11.4.6 (2026-07-17)\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3964\"\u003e#3964\u003c/a\u003e feat(plugin): infer ApiParam enum from \u003ca href=\"https://github.com/Param\"\u003e\u003ccode\u003e@​Param\u003c/code\u003e\u003c/a\u003e literal-union types (\u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3947\"\u003e#3947\u003c/a\u003e fix(type-helpers): preserve array-ness for nested DTO arrays in DeepPartialType (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3945\"\u003e#3945\u003c/a\u003e fix(mimetype-content-wrapper): clone object per mimetype to avoid shared references (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3972\"\u003e#3972\u003c/a\u003e fix: avoid inline PickType schema collisions (\u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3969\"\u003e#3969\u003c/a\u003e fix: Added missing summary type to the response object (\u003ca href=\"https://github.com/MichielDeMey\"\u003e\u003ccode\u003e@​MichielDeMey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3949\"\u003e#3949\u003c/a\u003e feat(api-query): support custom OpenAPI extensions (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3986\"\u003e#3986\u003c/a\u003e fix(deps): update dependency js-yaml to v5 (\u003ca href=\"https://github.com/apps/renovate\"\u003e\u003ccode\u003e@​renovate[bot]\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 4\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eMichiel De Mey (\u003ca href=\"https://github.com/MichielDeMey\"\u003e\u003ccode\u003e@​MichielDeMey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRayan Salhab (\u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYogeshwaran C (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYukihiro Hasegawa (\u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/aec1a2236c07a012500a30662443515c5c40185f\"\u003e\u003ccode\u003eaec1a22\u003c/code\u003e\u003c/a\u003e chore(): release v11.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/f9eec4f9a8e0ed43213577738f03edd89f1614e7\"\u003e\u003ccode\u003ef9eec4f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3986\"\u003e#3986\u003c/a\u003e from nestjs/renovate/js-yaml-5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/b6b6eafca5a13e4e827f68b961bb234dee46591a\"\u003e\u003ccode\u003eb6b6eaf\u003c/code\u003e\u003c/a\u003e chore(deps): support fastify/static v10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/e8912463d55aab2e069d5fea4e7934954e8d7130\"\u003e\u003ccode\u003ee891246\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3949\"\u003e#3949\u003c/a\u003e from yogeshwaran-c/feat/api-query-extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/c8608cfb532e7a7df727a1cf4e57735366d8d92e\"\u003e\u003ccode\u003ec8608cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3947\"\u003e#3947\u003c/a\u003e from yogeshwaran-c/fix/deep-partial-type-array-of-dto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/1f55cc15ae3965e19e9415f688dc0ede3694c641\"\u003e\u003ccode\u003e1f55cc1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3946\"\u003e#3946\u003c/a\u003e from yogeshwaran-c/fix/swagger-html-dollar-substitution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/76b72028200b5f077de7d19f7f87a25e99d3b7ee\"\u003e\u003ccode\u003e76b7202\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4013\"\u003e#4013\u003c/a\u003e from nestjs/renovate/fastify-compress-9.x-lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/f60c7382b6a436504f5fe891a15df7c0b889e8b5\"\u003e\u003ccode\u003ef60c738\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4012\"\u003e#4012\u003c/a\u003e from nestjs/renovate/vite-8.x-lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/e8e0eabad47ccb52ae70c92ffae5dcef9598f656\"\u003e\u003ccode\u003ee8e0eab\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency js-yaml to v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/880a39e812e404f4033afad85eef79732e715553\"\u003e\u003ccode\u003e880a39e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​fastify/compress\u003c/code\u003e to v9.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/swagger/compare/11.4.5...11.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/adapter-pg` from 7.8.0 to 7.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/adapter-pg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.9.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.9.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eTab completions for the Prisma CLI\u003c/h3\u003e\n\u003cp\u003eTyping out CLI commands from memory is now optional. Prisma ships \u003cstrong\u003eshell tab completions\u003c/strong\u003e for \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003ezsh\u003c/code\u003e, \u003ccode\u003efish\u003c/code\u003e, and PowerShell, covering commands, subcommands, options, flags, and even option values.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSetting it up.\u003c/strong\u003e Most projects run Prisma through a package manager, so completions are enabled through \u003ccode\u003e@bomb.sh/tab\u003c/code\u003e's package-manager integration — install it once, then source the completion for your package manager and shell:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# 1. Install @bomb.sh/tab globally\r\nnpm install -g @bomb.sh/tab\r\n\u003ch1\u003e2. Wire up your package manager + shell (pnpm shown; swap in npm / yarn / bun):\u003c/h1\u003e\n\u003cp\u003eecho 'source \u0026lt;(tab pnpm zsh)'  \u0026gt;\u0026gt; ~/.zshrc            # zsh\u003cbr /\u003e\necho 'source \u0026lt;(tab pnpm bash)' \u0026gt;\u0026gt; ~/.bashrc           # bash\u003cbr /\u003e\ntab pnpm fish \u0026gt; ~/.config/fish/completions/pnpm.fish  # fish\u003cbr /\u003e\ntab pnpm powershell \u0026gt; ~/.tab-pnpm.ps1                 # PowerShell (then dot-source it from $PROFILE)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e delegates to any locally-installed CLI that ships completions, so \u003ccode\u003epnpm prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003epnpm exec prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003eyarn prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, and \u003ccode\u003ebun x prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e all complete Prisma's commands, options, and values — no per-project setup. (\u003ccode\u003enpx\u003c/code\u003e and \u003ccode\u003ebunx\u003c/code\u003e don't support completion themselves; use \u003ccode\u003enpm exec\u003c/code\u003e and \u003ccode\u003ebun x\u003c/code\u003e.)\u003c/p\u003e\n\u003cp\u003eIf instead you have Prisma installed globally on your \u003ccode\u003ePATH\u003c/code\u003e, source its own completion directly: \u003ccode\u003esource \u0026lt;(prisma complete zsh)\u003c/code\u003e (or the \u003ccode\u003ebash\u003c/code\u003e / \u003ccode\u003efish\u003c/code\u003e / \u003ccode\u003epowershell\u003c/code\u003e variant).\u003c/p\u003e\n\u003cp\u003eThis is built on \u003ca href=\"https://github.com/bombshell-dev/tab/\"\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e\u003c/a\u003e, the same completion library that powers other CLIs in the ecosystem — including Cloudflare, Nuxt, and Vitest — so the package-manager completions you enable for Prisma work for those tools too. A wonderful community contribution from \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/28351\"\u003e#28351\u003c/a\u003e) — thank you!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\"\u003ehttps://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003ePrisma ORM, ready for AI agents\u003c/h3\u003e\n\u003cp\u003eCoding agents are now a first-class audience for Prisma, and 7.9.0 brings the first wave of work to make Prisma projects safe and productive for them to work in.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills installed with \u003ccode\u003eprisma init\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29689\"\u003e#29689\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprisma init\u003c/code\u003e now installs the \u003ca href=\"https://github.com/prisma/skills\"\u003eprisma/skills\u003c/a\u003e catalog into freshly scaffolded projects. Agents such as Claude Code, Cursor, Codex, and Windsurf start out with current, version-relevant Prisma knowledge instead of relying on whatever happened to be in their training data. The install is best-effort and never blocks scaffolding; opt out at any time with \u003ccode\u003e--no-skills\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest init\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/8244a6dc-cdad-4028-a652-bb5ac6e4b271\" alt=\"prisma init scaffolds a project and installs the Prisma agent skills catalog\" /\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eA safer default around destructive commands\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29684\"\u003e#29684\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29691\"\u003e#29691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29713\"\u003e#29713\u003c/a\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/prisma/prisma/commit/35003fd86c574741cb5d93a57b773ee33015a79c\"\u003e\u003ccode\u003e35003fd\u003c/code\u003e\u003c/a\u003e chore(adapter-pg): remove duplicate values parameter (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29650\"\u003e#29650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/d6d9fc9ed341946d45c7d0aba35081a7bd741aa1\"\u003e\u003ccode\u003ed6d9fc9\u003c/code\u003e\u003c/a\u003e chore: remove parameterization from sqlcommenter-query-insights (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29518\"\u003e#29518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.9.0/packages/adapter-pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 7.8.0 to 7.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.9.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.9.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eTab completions for the Prisma CLI\u003c/h3\u003e\n\u003cp\u003eTyping out CLI commands from memory is now optional. Prisma ships \u003cstrong\u003eshell tab completions\u003c/strong\u003e for \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003ezsh\u003c/code\u003e, \u003ccode\u003efish\u003c/code\u003e, and PowerShell, covering commands, subcommands, options, flags, and even option values.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSetting it up.\u003c/strong\u003e Most projects run Prisma through a package manager, so completions are enabled through \u003ccode\u003e@bomb.sh/tab\u003c/code\u003e's package-manager integration — install it once, then source the completion for your package manager and shell:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# 1. Install @bomb.sh/tab globally\r\nnpm install -g @bomb.sh/tab\r\n\u003ch1\u003e2. Wire up your package manager + shell (pnpm shown; swap in npm / yarn / bun):\u003c/h1\u003e\n\u003cp\u003eecho 'source \u0026lt;(tab pnpm zsh)'  \u0026gt;\u0026gt; ~/.zshrc            # zsh\u003cbr /\u003e\necho 'source \u0026lt;(tab pnpm bash)' \u0026gt;\u0026gt; ~/.bashrc           # bash\u003cbr /\u003e\ntab pnpm fish \u0026gt; ~/.config/fish/completions/pnpm.fish  # fish\u003cbr /\u003e\ntab pnpm powershell \u0026gt; ~/.tab-pnpm.ps1                 # PowerShell (then dot-source it from $PROFILE)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e delegates to any locally-installed CLI that ships completions, so \u003ccode\u003epnpm prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003epnpm exec prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003eyarn prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, and \u003ccode\u003ebun x prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e all complete Prisma's commands, options, and values — no per-project setup. (\u003ccode\u003enpx\u003c/code\u003e and \u003ccode\u003ebunx\u003c/code\u003e don't support completion themselves; use \u003ccode\u003enpm exec\u003c/code\u003e and \u003ccode\u003ebun x\u003c/code\u003e.)\u003c/p\u003e\n\u003cp\u003eIf instead you have Prisma installed globally on your \u003ccode\u003ePATH\u003c/code\u003e, source its own completion directly: \u003ccode\u003esource \u0026lt;(prisma complete zsh)\u003c/code\u003e (or the \u003ccode\u003ebash\u003c/code\u003e / \u003ccode\u003efish\u003c/code\u003e / \u003ccode\u003epowershell\u003c/code\u003e variant).\u003c/p\u003e\n\u003cp\u003eThis is built on \u003ca href=\"https://github.com/bombshell-dev/tab/\"\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e\u003c/a\u003e, the same completion library that powers other CLIs in the ecosystem — including Cloudflare, Nuxt, and Vitest — so the package-manager completions you enable for Prisma work for those tools too. A wonderful community contribution from \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/28351\"\u003e#28351\u003c/a\u003e) — thank you!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\"\u003ehttps://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003ePrisma ORM, ready for AI agents\u003c/h3\u003e\n\u003cp\u003eCoding agents are now a first-class audience for Prisma, and 7.9.0 brings the first wave of work to make Prisma projects safe and productive for them to work in.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills installed with \u003ccode\u003eprisma init\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29689\"\u003e#29689\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprisma init\u003c/code\u003e now installs the \u003ca href=\"https://github.com/prisma/skills\"\u003eprisma/skills\u003c/a\u003e catalog into freshly scaffolded projects. Agents such as Claude Code, Cursor, Codex, and Windsurf start out with current, version-relevant Prisma knowledge instead of relying on whatever happened to be in their training data. The install is best-effort and never blocks scaffolding; opt out at any time with \u003ccode\u003e--no-skills\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest init\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/8244a6dc-cdad-4028-a652-bb5ac6e4b271\" alt=\"prisma init scaffolds a project and installs the Prisma agent skills catalog\" /\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eA safer default around destructive commands\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29684\"\u003e#29684\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29691\"\u003e#29691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29713\"\u003e#29713\u003c/a\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/prisma/prisma/commit/b82985029d44349849dfbb4990bb19278178ee61\"\u003e\u003ccode\u003eb829850\u003c/code\u003e\u003c/a\u003e ci: upgrade pnpm to 11 to restore pnpm audit (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29725\"\u003e#29725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/280fd56f28c53f42fb2dfbc190c3d35d046e19fa\"\u003e\u003ccode\u003e280fd56\u003c/code\u003e\u003c/a\u003e fix(client): mask each quoted string in maskQuery independently (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29723\"\u003e#29723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/4da377494cc27bc0784d3629df21e94989abd153\"\u003e\u003ccode\u003e4da3774\u003c/code\u003e\u003c/a\u003e fix(client): reject invalid raw dates (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29697\"\u003e#29697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/a7cec97b204e734cf30049ee7a39c9b61da085de\"\u003e\u003ccode\u003ea7cec97\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/58f8439d020d70bf7cc9a77cca62dfc95d9ddc0f\"\u003e\u003ccode\u003e58f8439\u003c/code\u003e\u003c/a\u003e fix(client): pin pg-protocol in prisma-client-imports-postgres e2e test (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29687\"\u003e#29687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/918cf5d72c1ba85ed0bb85c50c34d483b02a19e1\"\u003e\u003ccode\u003e918cf5d\u003c/code\u003e\u003c/a\u003e fix(client): improve adapter-related Prisma 7 error messages (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29624\"\u003e#29624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/93da6ea2dcd65b8b4b9d58daf2e2821f1a4e9320\"\u003e\u003ccode\u003e93da6ea\u003c/code\u003e\u003c/a\u003e ci(e2e): shard client e2e suite across 3 jobs to fix chronic timeouts (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29619\"\u003e#29619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/3937779e617c743966ebb50901d013167dd9171e\"\u003e\u003ccode\u003e3937779\u003c/code\u003e\u003c/a\u003e fix: remove duplicate 'the the' in test comments (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29610\"\u003e#29610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/fda8fbce23b3af6b1651bd539da09e62c863ed6e\"\u003e\u003ccode\u003efda8fbc\u003c/code\u003e\u003c/a\u003e chore(deps): bump \u003ccode\u003e@​prisma/dev\u003c/code\u003e to 0.24.9 (resolves hono GHSA-92pp-h63x-v22m) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/0036baf8c9bb0b53e18c04fb27de4acf0535a306\"\u003e\u003ccode\u003e0036baf\u003c/code\u003e\u003c/a\u003e fix(client-engine-runtime): surface unmapped driver errors as user-facing P20...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.9.0/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2` from 0.44.0 to 0.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ranisalt/node-argon2/releases\"\u003eargon2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.45.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eDrops support for Node 18 and 20 (probably still works, but isn't tested)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd comparison with node:crypto and clarify parameter usage in README.md by \u003ca href=\"https://github.com/cbodin\"\u003e\u003ccode\u003e@​cbodin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/491\"\u003eranisalt/node-argon2#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compilation on solaris by \u003ca href=\"https://github.com/matt-fidd\"\u003e\u003ccode\u003e@​matt-fidd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/538\"\u003eranisalt/node-argon2#538\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/cbodin\"\u003e\u003ccode\u003e@​cbodin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/491\"\u003eranisalt/node-argon2#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matt-fidd\"\u003e\u003ccode\u003e@​matt-fidd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/538\"\u003eranisalt/node-argon2#538\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\"\u003ehttps://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/e2fe33fedb6811d0d038872c506811f164d11442\"\u003e\u003ccode\u003ee2fe33f\u003c/code\u003e\u003c/a\u003e fix: update Node.js version to latest in publish job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/e27980fce91c0cda602e4e96f2bab0a74a372a76\"\u003e\u003ccode\u003ee27980f\u003c/code\u003e\u003c/a\u003e fix: revert sync to default in freebsd test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/3d0a0b41372fffedfe655f287b69568ecd8498ff\"\u003e\u003ccode\u003e3d0a0b4\u003c/code\u003e\u003c/a\u003e fix: change npm publish to npm stage publish in release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/c61513fffe7dd5a7587bd19181f7aa689482c16e\"\u003e\u003ccode\u003ec61513f\u003c/code\u003e\u003c/a\u003e chore: update actions versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/2bc07331b01c3647db7f55be4a754fb9f4e01d97\"\u003e\u003ccode\u003e2bc0733\u003c/code\u003e\u003c/a\u003e fix: revert sync to default in freebsd build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/b0123794be320b2af3c142ecd9bf6dd3e1c91d64\"\u003e\u003ccode\u003eb012379\u003c/code\u003e\u003c/a\u003e chore: update dependencies and devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/d2edf4e95a8add001b374670a7a00bb1355b8ee6\"\u003e\u003ccode\u003ed2edf4e\u003c/code\u003e\u003c/a\u003e fix(tests): add unicode flag to regex assertions in option tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/0eb1db16644dcbe2fc962ce2c50f2abff535a269\"\u003e\u003ccode\u003e0eb1db1\u003c/code\u003e\u003c/a\u003e Apply npm fixes to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/a09b94ed9586143114fe60f5cb09fc7d2e567c77\"\u003e\u003ccode\u003ea09b94e\u003c/code\u003e\u003c/a\u003e Fix compilation on solaris (\u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/issues/538\"\u003e#538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/60e11efeab37cf8c74eda8e4d0949ca2b3f98943\"\u003e\u003ccode\u003e60e11ef\u003c/code\u003e\u003c/a\u003e chore(workflows): update actions/checkout, actions/setup-node, actions/upload...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for argon2 since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint/js` from 9.39.5 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003e@​eslint/js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\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/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1e2cad5f6fa47ed6ed89d2a29798dda926d50990\"\u003e\u003ccode\u003e1e2cad5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint/eslint/commits/v10.0.1/packages/js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 24.10.13 to 26.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/pg` from 8.18.0 to 8.20.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/supertest` from 7.2.0 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/supertest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.2 to 10.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.7.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/cf2a9bf2d982642f760370c15f1196f4658f4e27\"\u003e\u003ccode\u003ecf2a9bf\u003c/code\u003e\u003c/a\u003e feat: add errorClassNames option to preserve-caught-error rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21032\"\u003e#21032\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f8b873aae53610b80b5c1005606716e05ed3b91f\"\u003e\u003ccode\u003ef8b873a\u003c/code\u003e\u003c/a\u003e feat: max-nested-callbacks option for constructor callbacks (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21063\"\u003e#21063\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/557fde8bc633d26ea4fe287d4483f287e8e6080f\"\u003e\u003ccode\u003e557fde8\u003c/code\u003e\u003c/a\u003e feat: support computed \u003ccode\u003eNumber.parseInt\u003c/code\u003e member access in \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21041\"\u003e#21041\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b4a73b65808f5a8fd192f15db2bf5e47002b9f7\"\u003e\u003ccode\u003e0b4a73b\u003c/code\u003e\u003c/a\u003e feat: add suggestions to no-compare-neg-zero (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21034\"\u003e#21034\u003c/a\u003e) (den$)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96cdd427db5f26c6403fba92b0f7ae4556c595ec\"\u003e\u003ccode\u003e96cdd42\u003c/code\u003e\u003c/a\u003e feat: report invalid signed numeric radix values in \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21030\"\u003e#21030\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3e7bf15e69e6d3a2c8832356bcc2e9903cc4eede\"\u003e\u003ccode\u003e3e7bf15\u003c/code\u003e\u003c/a\u003e fix: apply \u003ccode\u003eignoreClassesWithImplements\u003c/code\u003e to class expressions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21069\"\u003e#21069\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0d7d70cf013ec5bf1e4f5a0fcf7128bdf059b2d4\"\u003e\u003ccode\u003e0d7d70c\u003c/code\u003e\u003c/a\u003e fix: insert cause outside wrapping parens in preserve-caught-error (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21062\"\u003e#21062\u003c/a\u003e) (Mahin Anowar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/75ec753226010867270787b412f3dae412e421e6\"\u003e\u003ccode\u003e75ec753\u003c/code\u003e\u003c/a\u003e fix: handle static template literals in \u003ccode\u003eeqeqeq\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21058\"\u003e#21058\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b717a22e2408389a2ad40af66543e46390669eb6\"\u003e\u003ccode\u003eb717a22\u003c/code\u003e\u003c/a\u003e fix: prevent \u003ccode\u003eeqeqeq\u003c/code\u003e null option from reporting non-equality operators (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21057\"\u003e#21057\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e35b05f1961dcd691611bd68b6ff8a87072d6f76\"\u003e\u003ccode\u003ee35b05f\u003c/code\u003e\u003c/a\u003e fix: avoid \u003ccode\u003eno-invalid-regexp\u003c/code\u003e false positive for shadowed RegExp (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21051\"\u003e#21051\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a3172b69c7db63ea0321355543e3f527c7d8b76a\"\u003e\u003ccode\u003ea3172b6\u003c/code\u003e\u003c/a\u003e fix: avoid \u003ccode\u003eno-control-regex\u003c/code\u003e false positive for shadowed RegExp (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21050\"\u003e#21050\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d1f637eca27e523d613991c6bea5b8726b810e4c\"\u003e\u003ccode\u003ed1f637e\u003c/code\u003e\u003c/a\u003e fix: parenthesize sequence expression operands in no-implicit-coercion (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21045\"\u003e#21045\u003c/a\u003e) (spokodev)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8859bafb018e2b23b5110d52e491b69b94ad890a\"\u003e\u003ccode\u003e8859baf\u003c/code\u003e\u003c/a\u003e fix: avoid prefer-numeric-literals false positive for shadowed globals (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21047\"\u003e#21047\u003c/a\u003e) (한국)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9e5961050676ef29dba9649dfcd7233d21760c7\"\u003e\u003ccode\u003ea9e5961\u003c/code\u003e\u003c/a\u003e fix: use-isnan false positive on shadowed NaN/Number (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20958\"\u003e#20958\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8a240a76108f30f2476e61a925e4d32d378cce5e\"\u003e\u003ccode\u003e8a240a7\u003c/code\u003e\u003c/a\u003e fix: avoid false positives in \u003ccode\u003eradix\u003c/code\u003e rule for spread arguments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21044\"\u003e#21044\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c30d80801ca561bdf65c6c3eba4ee57dced278cf\"\u003e\u003ccode\u003ec30d808\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5139800b23e77fdd1a76664e1b36f478942eae55\"\u003e\u003ccode\u003e5139800\u003c/code\u003e\u003c/a\u003e docs: document ESLint migration codemods in v9 and v10 guides (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20980\"\u003e#20980\u003c/a\u003e) (Alex Bit)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04174cbfaac1f9555400b5332d69056e6aab9cc6\"\u003e\u003ccode\u003e04174cb\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/026e1304080512bcddfd2af3557fff86474ff949\"\u003e\u003ccode\u003e026e130\u003c/code\u003e\u003c/a\u003e docs: update semver policy for bug fixes (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21048\"\u003e#21048\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9d42fefb0e05ecd0b256c2ebed479fc868862f0c\"\u003e\u003ccode\u003e9d42fef\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b23015955c8d6e6516076190730f538c86927f26\"\u003e\u003ccode\u003eb230159\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0129972ba122e95bece6040fda44d20f6799246a\"\u003e\u003ccode\u003e0129972\u003c/code\u003e\u003c/a\u003e docs: correct \u003ccode\u003e**/.js\u003c/code\u003e glob to \u003ccode\u003e**/*.js\u003c/code\u003e in config files guide (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21036\"\u003e#21036\u003c/a\u003e) (EduardF1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/948937986f2aa3cccb27a4c80694a85e5b0a5f64\"\u003e\u003ccode\u003e9489379\u003c/code\u003e\u003c/a\u003e chore: update dependency \u003ccode\u003e@​eslint/eslintrc\u003c/code\u003e to ^3.3.6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21076\"\u003e#21076\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/81a4774a928211bd0c01a06a1517736ece594522\"\u003e\u003ccode\u003e81a4774\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.5 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/983541491393323d17717683f6a2e6dbef4bc3f4\"\u003e\u003ccode\u003e9835414\u003c/code\u003e\u003c/a\u003e chore: enable \u003ccode\u003e$ExpectType\u003c/code\u003e annotations in all TypeScript files (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21071\"\u003e#21071\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/72adf6bd214c142b38aabb4b8f6f908079c5301a\"\u003e\u003ccode\u003e72adf6b\u003c/code\u003e\u003c/a\u003e chore: restrict \u003ccode\u003emarkdownlint-cli2\u003c/code\u003e updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21067\"\u003e#21067\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/833ec10fd702644e94334edd3cd2aa313174a958\"\u003e\u003ccode\u003e833ec10\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.4 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21061\"\u003e#21061\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7ea106ddcb6af7db8f36d62a28dbaba94d33598e\"\u003e\u003ccode\u003e7ea106d\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21059\"\u003e#21059\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8fb550e7c257fbdc4108fc8e63db43c1d914d472\"\u003e\u003ccode\u003e8fb550e\u003c/code\u003e\u003c/a\u003e chore: add prettier update commit to \u003ccode\u003e.git-blame-ignore-revs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21056\"\u003e#21056\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e4e11668ead6b950328c71e894563a13ef72bf84\"\u003e\u003ccode\u003ee4e1166\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21055\"\u003e#21055\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0493f53f3fcec4ed69a1808dffa153dcff1380d3\"\u003e\u003ccode\u003e0493f53\u003c/code\u003e\u003c/a\u003e chore: update prettier to v3.9.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21054\"\u003e#21054\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1056a996c657b377dc16a58c28890d2940394408\"\u003e\u003ccode\u003e1056a99\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.8.5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21049\"\u003e#21049\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4d4155df4a21d711e8dd21a467de085e770bad35\"\u003e\u003ccode\u003e4d4155d\u003c/code\u003e\u003c/a\u003e ci: run ecosystem tests on pull requests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21027\"\u003e#21027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/993539fd45d3d01aad3fbc13963e2245fdf7ee0d\"\u003e\u003ccode\u003e993539f\u003c/code\u003e\u003c/a\u003e chore: update dependency \u003ccode\u003e@​eslint/json\u003c/code\u003e to ^2.0.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21042\"\u003e#21042\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/53f8b69c15af7398c989071ee4788b88edd48bdd\"\u003e\u003ccode\u003e53f8b69\u003c/code\u003e\u003c/a\u003e test: add error locations to \u003ccode\u003eno-constant-binary-expression\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21039\"\u003e#21039\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5ab71d52f9d860df04e626fcd819a36257f21f9e\"\u003e\u003ccode\u003e5ab71d5\u003c/code\u003e\u003c/a\u003e refactor: clean up radix rule internals (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21015\"\u003e#21015\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a80a9a461478838930c5545f840473840b26b0e6\"\u003e\u003ccode\u003ea80a9a4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21035\"\u003e#21035\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7c9a02933cf1c231237babb8a7a32150ab72e263\"\u003e\u003ccode\u003e7c9a029\u003c/code\u003e\u003c/a\u003e ci: add Node.js 26 to CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20847\"\u003e#20847\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.6.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b1f910628e29a018c860e2...\n\n_Description has been truncated_","html_url":"https://github.com/matheusbecker00/OdontoGest/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusbecker00%2FOdontoGest/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4932177526","node_id":"PR_kwDOO0NnF870Ani9","number":77,"state":"closed","title":"chore(deps): bump the angular group in /src/ChangeMe.Frontend with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-20T19:23:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-20T19:06:50.000Z","updated_at":"2026-07-20T19:23:19.000Z","time_to_close":981,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"angular","update_count":9,"packages":[{"name":"@angular/common","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.16","new_version":"21.2.19","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.16","new_version":"21.2.19","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"}],"path":"/src/ChangeMe.Frontend","ecosystem":"npm"},"body":"Bumps the angular group in /src/ChangeMe.Frontend with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.17` | `21.2.18` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.17` | `21.2.18` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.17` | `21.2.18` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.17` | `21.2.18` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.17` | `21.2.18` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.17` | `21.2.18` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.16` | `21.2.19` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.16` | `21.2.19` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.17` | `21.2.18` |\n\nUpdates `@angular/common` from 21.2.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003ccode\u003e91df739\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003ccode\u003e5a693ba\u003c/code\u003e\u003c/a\u003e fix(core): reject dynamic script host elements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003ccode\u003e6bcce11\u003c/code\u003e\u003c/a\u003e fix(core): avoid caching missing locale data\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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.18/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.16 to 21.2.19\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.19\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\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/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003e\u003cimg src=\"https://img.shields.io/badge/df5429871-fix-green\" alt=\"fix - df5429871\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.18\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/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e\u003cimg src=\"https://img.shields.io/badge/61a810ab6-fix-green\" alt=\"fix - 61a810ab6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/a2b6116eddc7a71e4539817da623221ca552a35f\"\u003e\u003cimg src=\"https://img.shields.io/badge/a2b6116ed-fix-green\" alt=\"fix - a2b6116ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump undici to 7.28.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2510ee3c9aefdab5428938e78b9cfcea0ada1c45\"\u003e\u003cimg src=\"https://img.shields.io/badge/2510ee3c9-fix-green\" alt=\"fix - 2510ee3c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump vite to 7.3.6\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.17\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/9c366e8be42495d1bf90033788b3beae77e5fc28\"\u003e\u003cimg src=\"https://img.shields.io/badge/9c366e8be-fix-green\" alt=\"fix - 9c366e8be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump \u003ccode\u003e@​babel/core\u003c/code\u003e to 7.29.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6a06ce9e9847b4ddd66b94b9ea4c6fbbfc28d066\"\u003e\u003cimg src=\"https://img.shields.io/badge/6a06ce9e9-fix-green\" alt=\"fix - 6a06ce9e9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump esbuild to 0.28.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/637b84877334de5acc6fcbe1ba4d62c7a6da420b\"\u003e\u003cimg src=\"https://img.shields.io/badge/637b84877-fix-green\" alt=\"fix - 637b84877\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump piscina to 5.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e86d58a128725eee9dd63dcd2ccd35b8ee4706f3\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86d58a12-fix-green\" alt=\"fix - e86d58a12\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump vite to 7.3.5\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.19 (2026-07-09)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003edf5429871\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.32 (2026-07-09)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/d4e07cb3e3f871822f9bf37fdea35814ec1cdb80\"\u003ed4e07cb3e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.3 (2026-07-09)\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/34d558c3c98e1b59a2c2808fc04bfbb63dfe8acf\"\u003e34d558c3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd built-in SQLite cache store fallback\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/52ae7f862a581cac97d5a9b33c9b71b830d95b19\"\u003e52ae7f862\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eshare persistent build cache across git worktrees\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/41bd100dd8edebdf6c7279e1c7d3847ee5f22702\"\u003e41bd100dd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003efallback to build target preserveSymlinks option in karma runner\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6d9b360e5f2b7ab3d4ace4db35f674166630f658\"\u003e6d9b360e5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent esbuild service hang on internal component stylesheet builds\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/85c53d9909b8bcb35a360044a0afde5352d45d72\"\u003e85c53d990\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent externalizing builder-injected i18n locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/004cc410487b2dbb80001f045cd19f899c980ccc\"\u003e004cc4104\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip all vite id prefixes from minified code with external dependencies\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/09d0a11a8b832f156aea100ad3497c5221fc0f50\"\u003e09d0a11a8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eenable fast-path AST printing with sourcemaps in AotCompilation\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\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\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/0bd22dae09a83e36ed3863ca2b050666cc8d7aec\"\u003e0bd22dae0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereplace all route parameters when resolving relative redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.6 (2026-07-08)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1a728258d62e716cf102ac4b387284caf3b6cff8\"\u003e\u003ccode\u003e1a72825\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.19 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003e\u003ccode\u003edf54298\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): update http-proxy-middleware to 3.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fe3a606f9f7e29b9e44e0b552fe82027405150c1\"\u003e\u003ccode\u003efe3a606\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.18 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2510ee3c9aefdab5428938e78b9cfcea0ada1c45\"\u003e\u003ccode\u003e2510ee3\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump vite to 7.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e\u003ccode\u003e61a810a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): respect release age policy in update bootstrapping logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a2b6116eddc7a71e4539817da623221ca552a35f\"\u003e\u003ccode\u003ea2b6116\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump undici to 7.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9c1edbc8527245b6dadacad2482f86964c454b62\"\u003e\u003ccode\u003e9c1edbc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.17 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/637b84877334de5acc6fcbe1ba4d62c7a6da420b\"\u003e\u003ccode\u003e637b848\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump piscina to 5.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9c366e8be42495d1bf90033788b3beae77e5fc28\"\u003e\u003ccode\u003e9c366e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump \u003ccode\u003e@​babel/core\u003c/code\u003e to 7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6a06ce9e9847b4ddd66b94b9ea4c6fbbfc28d066\"\u003e\u003ccode\u003e6a06ce9\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump esbuild to 0.28.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.16...v21.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 21.2.16 to 21.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.19\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\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/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003e\u003cimg src=\"https://img.shields.io/badge/df5429871-fix-green\" alt=\"fix - df5429871\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.18\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/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e\u003cimg src=\"https://img.shields.io/badge/61a810ab6-fix-green\" alt=\"fix - 61a810ab6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/a2b6116eddc7a71e4539817da623221ca552a35f\"\u003e\u003cimg src=\"https://img.shields.io/badge/a2b6116ed-fix-green\" alt=\"fix - a2b6116ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump undici to 7.28.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2510ee3c9aefdab5428938e78b9cfcea0ada1c45\"\u003e\u003cimg src=\"https://img.shields.io/badge/2510ee3c9-fix-green\" alt=\"fix - 2510ee3c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump vite to 7.3.6\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.17\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/9c366e8be42495d1bf90033788b3beae77e5fc28\"\u003e\u003cimg src=\"https://img.shields.io/badge/9c366e8be-fix-green\" alt=\"fix - 9c366e8be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump \u003ccode\u003e@​babel/core\u003c/code\u003e to 7.29.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6a06ce9e9847b4ddd66b94b9ea4c6fbbfc28d066\"\u003e\u003cimg src=\"https://img.shields.io/badge/6a06ce9e9-fix-green\" alt=\"fix - 6a06ce9e9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump esbuild to 0.28.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/637b84877334de5acc6fcbe1ba4d62c7a6da420b\"\u003e\u003cimg src=\"https://img.shields.io/badge/637b84877-fix-green\" alt=\"fix - 637b84877\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump piscina to 5.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e86d58a128725eee9dd63dcd2ccd35b8ee4706f3\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86d58a12-fix-green\" alt=\"fix - e86d58a12\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump vite to 7.3.5\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.19 (2026-07-09)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003edf5429871\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.32 (2026-07-09)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/d4e07cb3e3f871822f9bf37fdea35814ec1cdb80\"\u003ed4e07cb3e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.3 (2026-07-09)\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/34d558c3c98e1b59a2c2808fc04bfbb63dfe8acf\"\u003e34d558c3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd built-in SQLite cache store fallback\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/52ae7f862a581cac97d5a9b33c9b71b830d95b19\"\u003e52ae7f862\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eshare persistent build cache across git worktrees\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/41bd100dd8edebdf6c7279e1c7d3847ee5f22702\"\u003e41bd100dd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003efallback to build target preserveSymlinks option in karma runner\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6d9b360e5f2b7ab3d4ace4db35f674166630f658\"\u003e6d9b360e5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent esbuild service hang on internal component stylesheet builds\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/85c53d9909b8bcb35a360044a0afde5352d45d72\"\u003e85c53d990\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent externalizing builder-injected i18n locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/004cc410487b2dbb80001f045cd19f899c980ccc\"\u003e004cc4104\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip all vite id prefixes from minified code with external dependencies\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/09d0a11a8b832f156aea100ad3497c5221fc0f50\"\u003e09d0a11a8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eenable fast-path AST printing with sourcemaps in AotCompilation\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\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\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/0bd22dae09a83e36ed3863ca2b050666cc8d7aec\"\u003e0bd22dae0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereplace all route parameters when resolving relative redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.6 (2026-07-08)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1a728258d62e716cf102ac4b387284caf3b6cff8\"\u003e\u003ccode\u003e1a72825\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.19 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003e\u003ccode\u003edf54298\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): update http-proxy-middleware to 3.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fe3a606f9f7e29b9e44e0b552fe82027405150c1\"\u003e\u003ccode\u003efe3a606\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.18 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2510ee3c9aefdab5428938e78b9cfcea0ada1c45\"\u003e\u003ccode\u003e2510ee3\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump vite to 7.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e\u003ccode\u003e61a810a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): respect release age policy in update bootstrapping logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a2b6116eddc7a71e4539817da623221ca552a35f\"\u003e\u003ccode\u003ea2b6116\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump undici to 7.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9c1edbc8527245b6dadacad2482f86964c454b62\"\u003e\u003ccode\u003e9c1edbc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.17 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/637b84877334de5acc6fcbe1ba4d62c7a6da420b\"\u003e\u003ccode\u003e637b848\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump piscina to 5.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9c366e8be42495d1bf90033788b3beae77e5fc28\"\u003e\u003ccode\u003e9c366e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump \u003ccode\u003e@​babel/core\u003c/code\u003e to 7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6a06ce9e9847b4ddd66b94b9ea4c6fbbfc28d066\"\u003e\u003ccode\u003e6a06ce9\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump esbuild to 0.28.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.16...v21.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 21.2.17 to 21.2.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.m...\n\n_Description has been truncated_","html_url":"https://github.com/damianlaczynski/ChangeMe/pull/77","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianlaczynski%2FChangeMe/issues/77","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/77/packages"},{"uuid":"4784886496","node_id":"PR_kwDOQGzZCM7soxqZ","number":86,"state":"closed","title":"chore(deps): bump the npm-version-updates group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-15T10:55:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-01T10:59:54.000Z","updated_at":"2026-07-15T10:55:15.000Z","time_to_close":1209320,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-version-updates","update_count":23,"packages":[{"name":"@angular/common","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"22.0.4","new_version":"22.0.5","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.4","new_version":"22.0.5","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@commitlint/config-conventional","old_version":"20.5.3","new_version":"21.2.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@eslint/js","old_version":"9.39.4","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@tailwindcss/postcss","old_version":"4.3.1","new_version":"4.3.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/jasmine","old_version":"5.1.15","new_version":"6.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"22.20.0","new_version":"26.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint","old_version":"9.39.4","new_version":"10.6.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jasmine-core","old_version":"5.9.0","new_version":"6.3.0","repository_url":"https://github.com/jasmine/jasmine"},{"name":"karma-jasmine-html-reporter","old_version":"2.1.0","new_version":"2.2.0","repository_url":"https://github.com/dfederm/karma-jasmine-html-reporter"},{"name":"knip","old_version":"5.88.1","new_version":"6.23.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"postcss","old_version":"8.5.15","new_version":"8.5.16","repository_url":"https://github.com/postcss/postcss"},{"name":"prettier","old_version":"3.8.4","new_version":"3.9.4","repository_url":"https://github.com/prettier/prettier"},{"name":"typescript-eslint","old_version":"8.62.0","new_version":"8.62.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"globals","old_version":"16.5.0","new_version":"17.7.0","repository_url":"https://github.com/sindresorhus/globals"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-version-updates group with 22 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.2` | `22.0.4` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.2` | `22.0.4` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.2` | `22.0.4` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.2` | `22.0.4` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.2` | `22.0.4` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.4` | `22.0.5` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.4` | `22.0.5` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.2` | `22.0.4` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.5.3` | `21.2.0` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.4` | `10.0.1` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.3.1` | `4.3.2` |\n| [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) | `5.1.15` | `6.0.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.20.0` | `26.0.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.6.0` |\n| [jasmine-core](https://github.com/jasmine/jasmine) | `5.9.0` | `6.3.0` |\n| [karma-jasmine-html-reporter](https://github.com/dfederm/karma-jasmine-html-reporter) | `2.1.0` | `2.2.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `5.88.1` | `6.23.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.15` | `8.5.16` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.4` | `3.9.4` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.62.0` | `8.62.1` |\n| [globals](https://github.com/sindresorhus/globals) | `16.5.0` | `17.7.0` |\n\n\nUpdates `@angular/common` from 22.0.2 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cd8f472ab4b7d0565fd9c883feaa4be4fee730ef\"\u003e\u003ccode\u003ecd8f472\u003c/code\u003e\u003c/a\u003e docs: add documentation for HttpClient response body size limit and related e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003ccode\u003e8cdc202\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.2 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003ccode\u003ef4f7f37\u003c/code\u003e\u003c/a\u003e fix(compiler): remove unused import breaking CI in 22.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/489d1707d79fe91f1c23d905c4ce9f21cfd1ddf2\"\u003e\u003ccode\u003e489d170\u003c/code\u003e\u003c/a\u003e refactor(compiler): desable the legacy template syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39001be266e05d73e90a8acf01d47fcddbfab612\"\u003e\u003ccode\u003e39001be\u003c/code\u003e\u003c/a\u003e refactor(compiler): Move the attribute comment to the HTML AST\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.2 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/01d58d7ad7277ca1acc07186a7114167d65b02d6\"\u003e\u003ccode\u003e01d58d7\u003c/code\u003e\u003c/a\u003e refactor(core): Tree shake the \u003ccode\u003eSimpleChanges\u003c/code\u003e \u0026amp; co.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/03d1a6444a57ed654929c4b36c86cf797021c3c0\"\u003e\u003ccode\u003e03d1a64\u003c/code\u003e\u003c/a\u003e docs(core): document resource chaining with chain() in params context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003ccode\u003e2799304\u003c/code\u003e\u003c/a\u003e fix(core): avoid uncaught promise errors in injectAsync prefetching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7c83b0a30886ffc9ecb9f6d1f234debadce68d\"\u003e\u003ccode\u003e3e7c83b\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): escape overlapping comment delimiters in escapeCommentText\u0026quot;\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/core\"\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 22.0.2 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d536d7a8479f7360de822e8ec905a8d3a26efdd\"\u003e\u003ccode\u003e3d536d7\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f598dcfda0d2c13eca237b6a2ed7006361b0506a\"\u003e\u003ccode\u003ef598dcf\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05101\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.2 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\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/v22.0.4/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zone.js` from 0.15.1 to 0.16.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/packages/zone.js/CHANGELOG.md\"\u003ezone.js's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e0.16.2 (2026-05-06)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(zone.js): support vitest patching in zone.js/testing (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/68395\"\u003e#68395\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/62c6e3b\"\u003e62c6e3b\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/68395\"\u003e#68395\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/68395\"\u003e#68395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(zone.js): allow draining microtasks in \u003ccode\u003ePromise.then\u003c/code\u003e (through flag) (\u003ca href=\"https://github.com/angular/angular/commit/fc6a7ee\"\u003efc6a7ee\u003c/a\u003e), closes \u003ca href=\"https://github.com/angular/issues/45273\"\u003eangular#45273\u003c/a\u003e \u003ca href=\"https://github.com/angular/issues/44446\"\u003eangular#44446\u003c/a\u003e \u003ca href=\"https://github.com/angular/issues/55590\"\u003eangular#55590\u003c/a\u003e \u003ca href=\"https://github.com/angular/issues/51328\"\u003eangular#51328\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e0.16.1 (2026-02-18)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(zone.js): support passthrough of Promise.try API (\u003ca href=\"https://github.com/angular/angular/commit/fc557f0\"\u003efc557f0\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/67057\"\u003e#67057\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e0.16.0 (2025-11-19)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(zone.js): Support jasmine v6 (\u003ca href=\"https://github.com/angular/angular/commit/48abe00\"\u003e48abe00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(zone.js): waitForAsync should pass args to the test function (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/61755\"\u003e#61755\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/3c216c1\"\u003e3c216c1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/61755\"\u003e#61755\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/61717\"\u003e#61717\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/61755\"\u003e#61755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(zone.js): Add internal implementation for auto ticking fakeAsync (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/62135\"\u003e#62135\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/0a827f9\"\u003e0a827f9\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/62135\"\u003e#62135\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/62135\"\u003e#62135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(zone.js): Improve missing proxy zone error for jest imported (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/64497\"\u003e#64497\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/ced2fa5\"\u003eced2fa5\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/64497\"\u003e#64497\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/47603\"\u003e#47603\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/64497\"\u003e#64497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(zone.js): remove legacy browser support (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/63511\"\u003e#63511\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/2e46596\"\u003e2e46596\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/63511\"\u003e#63511\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/63511\"\u003e#63511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(zone.js): remove unused jasmine globalerror monkey patching. (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/63077\"\u003e#63077\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/9aef481\"\u003e9aef481\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/63077\"\u003e#63077\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/63072\"\u003e#63072\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/63077\"\u003e#63077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(zone.js): refactor tests to remove usage of shelljs (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/64042\"\u003e#64042\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/422a3b9\"\u003e422a3b9\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/64042\"\u003e#64042\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/64042\"\u003e#64042\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGE\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIE/Non-Chromium Edge are not supported anymore.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e3dc87cbd8ceb3b0353033eedef95e931a087799\"\u003e\u003ccode\u003ee3dc87c\u003c/code\u003e\u003c/a\u003e release: cut the zone.js-0.16.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f048e7de3f01e66d05dcc7f0a53926343d5fb5f\"\u003e\u003ccode\u003e4f048e7\u003c/code\u003e\u003c/a\u003e build: update dependency typescript to v6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9fa4be9d094fd79ccd56f0328d41aca637c57c14\"\u003e\u003ccode\u003e9fa4be9\u003c/code\u003e\u003c/a\u003e test(zone.js): vitest patch for testing (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/68395\"\u003e#68395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/62c6e3b7ee87babef8a4ff065a45a649cf422b4e\"\u003e\u003ccode\u003e62c6e3b\u003c/code\u003e\u003c/a\u003e feat(zone.js): support vitest patching in zone.js/testing (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/68395\"\u003e#68395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f3f3d7da1ed9f978fef5ac39f78dea292832b4c\"\u003e\u003ccode\u003e7f3f3d7\u003c/code\u003e\u003c/a\u003e ci: remove remainings of saucelabs tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/56ff89c92d1187d7a3f3aebe1beed7501b14acd5\"\u003e\u003ccode\u003e56ff89c\u003c/code\u003e\u003c/a\u003e build: update all non-major dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fc6a7eea682a76f03e85c4786aed3b02bdb06968\"\u003e\u003ccode\u003efc6a7ee\u003c/code\u003e\u003c/a\u003e fix(zone.js): allow draining microtasks in \u003ccode\u003ePromise.then\u003c/code\u003e (through flag)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0007723a0306f0829505347817a4f205ec4ffa38\"\u003e\u003ccode\u003e0007723\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/9ee4f83705364e7fe7522f86931126836507c6df\"\u003e\u003ccode\u003e9ee4f83\u003c/code\u003e\u003c/a\u003e build: update to TypeScript 6 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/621c9083de2214952ca21f14d18e01199c25f0b6\"\u003e\u003ccode\u003e621c908\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/zone.js-0.16.2/packages/zone.js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/build` from 22.0.4 to 22.0.5\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\u003e22.0.5\u003c/h2\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\u003eDescription\u003c/th\u003e\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/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e\u003cimg src=\"https://img.shields.io/badge/862a38069-fix-green\" alt=\"fix - 862a38069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused app tsconfig outDir\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\u003eDescription\u003c/th\u003e\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/f099e641c96a5932d81535e712af7044269b4788\"\u003e\u003cimg src=\"https://img.shields.io/badge/f099e641c-fix-green\" alt=\"fix - f099e641c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003egracefully handle package manager errors in command handler\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf033ec48-fix-green\" alt=\"fix - cf033ec48\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\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/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003e\u003cimg src=\"https://img.shields.io/badge/f75085f4b-fix-green\" alt=\"fix - f75085f4b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent OS command injection in ssr-dev-server builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/dfee1e7b142d767c86eecb7791ed72bce65866c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfee1e7b1-fix-green\" alt=\"fix - dfee1e7b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eauto-inject localize/init in library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aba718403df7a96310570c1449674a49254cd4af\"\u003e\u003cimg src=\"https://img.shields.io/badge/aba718403-fix-green\" alt=\"fix - aba718403\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einherit preserveSymlinks option from build target in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c0d9f03c-fix-green\" alt=\"fix - 7c0d9f03c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eload zone.js dynamically for library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e\u003cimg src=\"https://img.shields.io/badge/4288e4452-fix-green\" alt=\"fix - 4288e4452\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope createRequire module resolution using paths to prevent parent paths\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/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e\u003cimg src=\"https://img.shields.io/badge/5f774f891-fix-green\" alt=\"fix - 5f774f891\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve response headers during redirect\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\u003e22.0.5 (2026-07-01)\u003c/h1\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/f099e641c96a5932d81535e712af7044269b4788\"\u003ef099e641c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003egracefully handle package manager errors in command handler\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003ecf033ec48\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e862a38069\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove unused app tsconfig outDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003ef75085f4b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent OS command injection in ssr-dev-server builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/dfee1e7b142d767c86eecb7791ed72bce65866c5\"\u003edfee1e7b1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eauto-inject localize/init in library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aba718403df7a96310570c1449674a49254cd4af\"\u003eaba718403\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einherit preserveSymlinks option from build target in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e7c0d9f03c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eload zone.js dynamically for library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e4288e4452\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003escope createRequire module resolution using paths to prevent parent paths\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\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\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/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e5f774f891\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve response headers during redirect\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.18 (2026-07-01)\u003c/h1\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/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e61a810ab6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\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-cli/commit/85a2698579cfe34087c35f6c4734f7e4a37145a3\"\u003e\u003ccode\u003e85a2698\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5c892ee7608391409cb17851c145604d1d8ded95\"\u003e\u003ccode\u003e5c892ee\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-cli/commit/7848e8d65c9b54e8be12e1d24823c09e2ef6b43b\"\u003e\u003ccode\u003e7848e8d\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e\u003ccode\u003e862a380\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​schematics/angular\u003c/code\u003e): remove unused app tsconfig outDir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e\u003ccode\u003e4288e44\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): scope createRequire module resolution using paths to pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e\u003ccode\u003e5f774f8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): preserve response headers during redirect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e\u003ccode\u003e7c0d9f0\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): load zone.js dynamically for library unit tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003e\u003ccode\u003ef75085f\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): prevent OS command injection in ssr-dev-s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f099e641c96a5932d81535e712af7044269b4788\"\u003e\u003ccode\u003ef099e64\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): gracefully handle package manager errors in command handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003e\u003ccode\u003ecf033ec\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): respect release age policy in update bootstrapping logic\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v22.0.4...v22.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 22.0.4 to 22.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.5\u003c/h2\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\u003eDescription\u003c/th\u003e\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/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e\u003cimg src=\"https://img.shields.io/badge/862a38069-fix-green\" alt=\"fix - 862a38069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused app tsconfig outDir\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\u003eDescription\u003c/th\u003e\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/f099e641c96a5932d81535e712af7044269b4788\"\u003e\u003cimg src=\"https://img.shields.io/badge/f099e641c-fix-green\" alt=\"fix - f099e641c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003egracefully handle package manager errors in command handler\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf033ec48-fix-green\" alt=\"fix - cf033ec48\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\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/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003e\u003cimg src=\"https://img.shields.io/badge/f75085f4b-fix-green\" alt=\"fix - f75085f4b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent OS command injection in ssr-dev-server builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/dfee1e7b142d767c86eecb7791ed72bce65866c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfee1e7b1-fix-green\" alt=\"fix - dfee1e7b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eauto-inject localize/init in library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aba718403df7a96310570c1449674a49254cd4af\"\u003e\u003cimg src=\"https://img.shields.io/badge/aba718403-fix-green\" alt=\"fix - aba718403\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einherit preserveSymlinks option from build target in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c0d9f03c-fix-green\" alt=\"fix - 7c0d9f03c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eload zone.js dynamically for library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e\u003cimg src=\"https://img.shields.io/badge/4288e4452-fix-green\" alt=\"fix - 4288e4452\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope createRequire module resolution using paths to prevent parent paths\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/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e\u003cimg src=\"https://img.shields.io/badge/5f774f891-fix-green\" alt=\"fix - 5f774f891\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve response headers during redirect\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.5 (2026-07-01)\u003c/h1\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/f099e641c96a5932d81535e712af7044269b4788\"\u003ef099e641c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003egracefully handle package manager errors in command handler\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003ecf033ec48\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e862a38069\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove unused app tsconfig outDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003ef75085f4b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent OS command injection in ssr-dev-server builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/dfee1e7b142d767c86eecb7791ed72bce65866c5\"\u003edfee1e7b1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eauto-inject localize/init in library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aba718403df7a96310570c1449674a49254cd4af\"\u003eaba718403\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einherit preserveSymlinks option from build target in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e7c0d9f03c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eload zone.js dynamically for library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e4288e4452\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003escope createRequire module resolution using paths to prevent parent paths\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\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\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/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e5f774f891\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve response headers during redirect\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.18 (2026-07-01)\u003c/h1\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/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e61a810ab6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\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-cli/commit/85a2698579cfe34087c35f6c4734f7e4a37145a3\"\u003e\u003ccode\u003e85a2698\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5c892ee7608391409cb17851c145604d1d8ded95\"\u003e\u003ccode\u003e5c892ee\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-cli/commit/7848e8d65c9b54e8be12e1d24823c09e2ef6b43b\"\u003e\u003ccode\u003e7848e8d\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-...\n\n_Description has been truncated_","html_url":"https://github.com/zitadel/example-auth-angular/pull/86","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zitadel%2Fexample-auth-angular/issues/86","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/86/packages"},{"uuid":"4784300319","node_id":"PR_kwDONDJI2c7sm2sQ","number":297,"state":"open","title":"chore(deps): bump the angular 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-07-01T09:35:16.000Z","updated_at":"2026-07-01T17:15:37.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":10,"packages":[{"name":"@angular/common","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"22.0.1","new_version":"22.0.4","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.1","new_version":"22.0.4","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.1` | `22.0.2` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.1` | `22.0.2` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.1` | `22.0.2` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.1` | `22.0.2` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.1` | `22.0.2` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.1` | `22.0.2` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `22.0.1` | `22.0.2` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.1` | `22.0.4` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.1` | `22.0.4` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.1` | `22.0.2` |\n\n\nUpdates `@angular/common` from 22.0.1 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427\"\u003e\u003ccode\u003ef309727\u003c/code\u003e\u003c/a\u003e refactor(compiler): Collect in-element comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4\"\u003e\u003ccode\u003e8bb3947\u003c/code\u003e\u003c/a\u003e refactor: optimize dom security schema lookups\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152601ed9429d127e31a9068db92aa4406cd0ced\"\u003e\u003ccode\u003e152601e\u003c/code\u003e\u003c/a\u003e refactor(core): add \u003ccode\u003echildSignalProp\u003c/code\u003e to \u003ccode\u003eReactiveNodeKind\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003ccode\u003e59dea13\u003c/code\u003e\u003c/a\u003e fix(core): guard against DOM clobbering in declareExperimentalWebMcpTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cb4570b2297d8af1a7287e2275758afc5b9acb\"\u003e\u003ccode\u003e81cb457\u003c/code\u003e\u003c/a\u003e refactor(router): Add handling for ActivatedRoute-scoped injector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003ccode\u003ef902d1d\u003c/code\u003e\u003c/a\u003e perf(core): detect existing signal dependency without checking all producer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003ccode\u003ee17e8d5\u003c/code\u003e\u003c/a\u003e fix(core): escape overlapping comment delimiters in escapeCommentText\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f1cfe30829bd33ff4778e45322de4e80f2fe9a9\"\u003e\u003ccode\u003e0f1cfe3\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003ccode\u003e93d0a5f\u003c/code\u003e\u003c/a\u003e fix(core): prevent unsubscribe during emit from throwing off other listeners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003ccode\u003e528a34f\u003c/code\u003e\u003c/a\u003e fix(core): avoid caching missing locale data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/t...\n\n_Description has been truncated_","html_url":"https://github.com/ArloL/angular-playground/pull/297","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArloL%2Fangular-playground/issues/297","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/297/packages"},{"uuid":"4781821013","node_id":"PR_kwDOLPl2kM7sexQn","number":281,"state":"closed","title":"deps(node): bump the angular group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-06T14:41:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-01T02:19:04.000Z","updated_at":"2026-07-06T14:41:23.000Z","time_to_close":476538,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(node): bump","group_name":"angular","update_count":11,"packages":[{"name":"@angular/common","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-server","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/ssr","old_version":"21.2.9","new_version":"22.0.4","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.9","new_version":"22.0.4","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 11 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` | `22.0.4` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.11` | `22.0.4` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.11` | `22.0.4` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.11` | `22.0.4` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.11` | `22.0.4` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.11` | `22.0.4` |\n| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `21.2.11` | `22.0.4` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.11` | `22.0.4` |\n| [@angular/ssr](https://github.com/angular/angular-cli) | `21.2.9` | `22.0.4` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.9` | `22.0.4` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.11` | `22.0.4` |\n\n\nUpdates `@angular/common` from 21.2.11 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cd8f472ab4b7d0565fd9c883feaa4be4fee730ef\"\u003e\u003ccode\u003ecd8f472\u003c/code\u003e\u003c/a\u003e docs: add documentation for HttpClient response body size limit and related e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003ccode\u003e8cdc202\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003ccode\u003ef4f7f37\u003c/code\u003e\u003c/a\u003e fix(compiler): remove unused import breaking CI in 22.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/489d1707d79fe91f1c23d905c4ce9f21cfd1ddf2\"\u003e\u003ccode\u003e489d170\u003c/code\u003e\u003c/a\u003e refactor(compiler): desable the legacy template syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39001be266e05d73e90a8acf01d47fcddbfab612\"\u003e\u003ccode\u003e39001be\u003c/code\u003e\u003c/a\u003e refactor(compiler): Move the attribute comment to the HTML AST\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427\"\u003e\u003ccode\u003ef309727\u003c/code\u003e\u003c/a\u003e refactor(compiler): Collect in-element comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4\"\u003e\u003ccode\u003e8bb3947\u003c/code\u003e\u003c/a\u003e refactor: optimize dom security schema lookups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4645850e24d2764313040b6711af93d3fd426825\"\u003e\u003ccode\u003e4645850\u003c/code\u003e\u003c/a\u003e refactor(compiler): Remove 80 char limit on AbstractEmitterVisitor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/01d58d7ad7277ca1acc07186a7114167d65b02d6\"\u003e\u003ccode\u003e01d58d7\u003c/code\u003e\u003c/a\u003e refactor(core): Tree shake the \u003ccode\u003eSimpleChanges\u003c/code\u003e \u0026amp; co.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/03d1a6444a57ed654929c4b36c86cf797021c3c0\"\u003e\u003ccode\u003e03d1a64\u003c/code\u003e\u003c/a\u003e docs(core): document resource chaining with chain() in params context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003ccode\u003e2799304\u003c/code\u003e\u003c/a\u003e fix(core): avoid uncaught promise errors in injectAsync prefetching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7c83b0a30886ffc9ecb9f6d1f234debadce68d\"\u003e\u003ccode\u003e3e7c83b\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): escape overlapping comment delimiters in escapeCommentText\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152601ed9429d127e31a9068db92aa4406cd0ced\"\u003e\u003ccode\u003e152601e\u003c/code\u003e\u003c/a\u003e refactor(core): add \u003ccode\u003echildSignalProp\u003c/code\u003e to \u003ccode\u003eReactiveNodeKind\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003ccode\u003e59dea13\u003c/code\u003e\u003c/a\u003e fix(core): guard against DOM clobbering in declareExperimentalWebMcpTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cb4570b2297d8af1a7287e2275758afc5b9acb\"\u003e\u003ccode\u003e81cb457\u003c/code\u003e\u003c/a\u003e refactor(router): Add handling for ActivatedRoute-scoped injector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003ccode\u003ef902d1d\u003c/code\u003e\u003c/a\u003e perf(core): detect existing signal dependency without checking all producer l...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2353bf22a52563fece26047820234ae013cdc931\"\u003e\u003ccode\u003e2353bf2\u003c/code\u003e\u003c/a\u003e refactor(forms): widen \u003ccode\u003eAsyncValidatorOptions.factory\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d2b613900cbfeb4780d4061155e2b1b6183128be\"\u003e\u003ccode\u003ed2b6139\u003c/code\u003e\u003c/a\u003e docs(forms): clarify debounce('blur') usage with custom FormValueControl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/59ee51e2d4adea02d25068b21980312164fd477d\"\u003e\u003ccode\u003e59ee51e\u003c/code\u003e\u003c/a\u003e docs(forms): update package docs for Signal Forms graduation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3f055435f6e2f5f9824bc8f70d061b284bea7c80\"\u003e\u003ccode\u003e3f05543\u003c/code\u003e\u003c/a\u003e refactor(forms): fix initWebMcpForm description to be required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003ccode\u003e11836a6\u003c/code\u003e\u003c/a\u003e fix(forms): delay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003ccode\u003ee51ad37\u003c/code\u003e\u003c/a\u003e fix(forms): remove animationstart listener on component destroy to prevent me...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003ccode\u003e85d2d10\u003c/code\u003e\u003c/a\u003e fix(forms): harden FormGroup control lookups against prototype shadowing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003ccode\u003ecdcea80\u003c/code\u003e\u003c/a\u003e fix(core): require WebMCP tool descriptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003ccode\u003e55b7b5a\u003c/code\u003e\u003c/a\u003e fix(forms): set \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e81c7e84669e06f70aff0ca80dc3792809afdbd3\"\u003e\u003ccode\u003ee81c7e8\u003c/code\u003e\u003c/a\u003e refactor(forms): type built-in getError results\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d536d7a8479f7360de822e8ec905a8d3a26efdd\"\u003e\u003ccode\u003e3d536d7\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f598dcfda0d2c13eca237b6a2ed7006361b0506a\"\u003e\u003ccode\u003ef598dcf\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05101\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/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/0d9a245345c5bb3013849d924efbfa3676b520a0\"\u003e\u003ccode\u003e0d9a245\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\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/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e\u003ccode\u003e5a7c1e6\u003c/code\u003e\u003c/a\u003e feat(core): add ability to cache resources for SSR\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/4ad3a1fe3793843270982e95389a3fefcb2c02e3\"\u003e\u003ccode\u003e4ad3a1f\u003c/code\u003e\u003c/a\u003e refactor(core): Don't throw when there are not async metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f3f3d7da1ed9f978fef5ac39f78dea292832b4c\"\u003e\u003ccode\u003e7f3f3d7\u003c/code\u003e\u003c/a\u003e ci: remove remainings of saucelabs tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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-dynamic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eD...\n\n_Description has been truncated_","html_url":"https://github.com/EmCap1999/lafontainemons-menu/pull/281","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmCap1999%2Flafontainemons-menu/issues/281","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/281/packages"},{"uuid":"4772371935","node_id":"PR_kwDOHBnFWs7r_2Ml","number":1217,"state":"open","title":"Bump the angular group 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-06-29T23:33:51.000Z","updated_at":"2026-06-29T23:37:41.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/animations","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/localize","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `22.0.3` | `22.0.4` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.3` | `22.0.4` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.3` | `22.0.4` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.3` | `22.0.4` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.3` | `22.0.4` |\n| [@angular/localize](https://github.com/angular/angular) | `22.0.3` | `22.0.4` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.3` | `22.0.4` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.3` | `22.0.4` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `22.0.3` | `22.0.4` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.3` | `22.0.4` |\n\nUpdates `@angular/animations` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/localize` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/localize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/localize's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/0b1cbbd12fb8db620d755265dc8f31f6a97dad87\"\u003e\u003ccode\u003e0b1cbbd\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/compare/v22.0.3...v22.0.4\"\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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/service-worker` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/service-worker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/service-worker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/service-worker\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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-cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/compiler-cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cjmalloy/jasper-ui/pull/1217","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjmalloy%2Fjasper-ui/issues/1217","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1217/packages"},{"uuid":"4764392290","node_id":"PR_kwDOKaENj87rliSy","number":676,"state":"closed","title":"chore(deps): bump the angular group with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-02T01:44:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-29T01:44:46.000Z","updated_at":"2026-07-02T01:44:07.000Z","time_to_close":259160,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"angular","update_count":9,"packages":[{"name":"@angular/animations","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `22.0.3` | `22.0.4` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.3` | `22.0.4` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.3` | `22.0.4` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.3` | `22.0.4` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.3` | `22.0.4` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.3` | `22.0.4` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `22.0.3` | `22.0.4` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.3` | `22.0.4` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.3` | `22.0.4` |\n\nUpdates `@angular/animations` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser-dynamic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/platform-browser-dynamic\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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-cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/compiler-cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/jy95/ngx-json-schema-viewer/pull/676","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jy95%2Fngx-json-schema-viewer/issues/676","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/676/packages"},{"uuid":"4729997945","node_id":"PR_kwDOTDTspc7p2_fh","number":3,"state":"open","title":"Bump the npm-deps group in /web/vyst-ui with 18 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-06-23T22:28:01.000Z","updated_at":"2026-06-23T22:28:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-deps","update_count":18,"packages":[{"name":"@angular/animations","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@apollo/client","old_version":"4.0.9","new_version":"4.2.3","repository_url":"https://github.com/apollographql/apollo-client"},{"name":"apollo-angular","old_version":"13.0.0","new_version":"14.1.0","repository_url":"https://github.com/the-guild-org/apollo-angular"},{"name":"graphql","old_version":"16.12.0","new_version":"17.0.1","repository_url":"https://github.com/graphql/graphql-js"},{"name":"zone.js","old_version":"0.16.0","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.0.2","new_version":"22.0.3","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.16","new_version":"22.0.3","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"autoprefixer","old_version":"10.4.22","new_version":"10.5.1","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"jsdom","old_version":"27.2.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"tailwindcss","old_version":"3.4.18","new_version":"4.3.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":"/web/vyst-ui","ecosystem":"npm"},"body":"Bumps the npm-deps group in /web/vyst-ui with 18 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.0.3` | `22.0.2` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.0.3` | `22.0.2` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.0.3` | `22.0.2` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.0.3` | `22.0.2` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.0.3` | `22.0.2` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.0.3` | `22.0.2` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.0.3` | `22.0.2` |\n| [@apollo/client](https://github.com/apollographql/apollo-client) | `4.0.9` | `4.2.3` |\n| [apollo-angular](https://github.com/the-guild-org/apollo-angular/tree/HEAD/packages/apollo-angular) | `13.0.0` | `14.1.0` |\n| [graphql](https://github.com/graphql/graphql-js) | `16.12.0` | `17.0.1` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.16.0` | `0.16.2` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.0.2` | `22.0.3` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.16` | `22.0.3` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.0.3` | `22.0.2` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.22` | `10.5.1` |\n| [jsdom](https://github.com/jsdom/jsdom) | `27.2.0` | `29.1.1` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.18` | `4.3.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\nUpdates `@angular/animations` from 21.0.3 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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.0.3 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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.0.3 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427\"\u003e\u003ccode\u003ef309727\u003c/code\u003e\u003c/a\u003e refactor(compiler): Collect in-element comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4\"\u003e\u003ccode\u003e8bb3947\u003c/code\u003e\u003c/a\u003e refactor: optimize dom security schema lookups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4645850e24d2764313040b6711af93d3fd426825\"\u003e\u003ccode\u003e4645850\u003c/code\u003e\u003c/a\u003e refactor(compiler): Remove 80 char limit on AbstractEmitterVisitor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003ccode\u003e1ee224c\u003c/code\u003e\u003c/a\u003e fix(compiler): disallow i18n event attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003ccode\u003e5946c18\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003ccode\u003e393b84c\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize two-way properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003ccode\u003e3d9ca2f\u003c/code\u003e\u003c/a\u003e fix(compiler-cli): bind switch exhaustive check expressions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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.0.3 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152601ed9429d127e31a9068db92aa4406cd0ced\"\u003e\u003ccode\u003e152601e\u003c/code\u003e\u003c/a\u003e refactor(core): add \u003ccode\u003echildSignalProp\u003c/code\u003e to \u003ccode\u003eReactiveNodeKind\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003ccode\u003e59dea13\u003c/code\u003e\u003c/a\u003e fix(core): guard against DOM clobbering in declareExperimentalWebMcpTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cb4570b2297d8af1a7287e2275758afc5b9acb\"\u003e\u003ccode\u003e81cb457\u003c/code\u003e\u003c/a\u003e refactor(router): Add handling for ActivatedRoute-scoped injector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003ccode\u003ef902d1d\u003c/code\u003e\u003c/a\u003e perf(core): detect existing signal dependency without checking all producer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003ccode\u003ee17e8d5\u003c/code\u003e\u003c/a\u003e fix(core): escape overlapping comment delimiters in escapeCommentText\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f1cfe30829bd33ff4778e45322de4e80f2fe9a9\"\u003e\u003ccode\u003e0f1cfe3\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003ccode\u003e93d0a5f\u003c/code\u003e\u003c/a\u003e fix(core): prevent unsubscribe during emit from throwing off other listeners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003ccode\u003e528a34f\u003c/code\u003e\u003c/a\u003e fix(core): avoid caching missing locale data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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.0.3 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ci...\n\n_Description has been truncated_","html_url":"https://github.com/pgdepaula/Vyst-OpenAuth/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgdepaula%2FVyst-OpenAuth/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4710270189","node_id":"PR_kwDON-U_387o2TBc","number":340,"state":"open","title":"chore(deps): bump @angular/common, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic and @angular/router in /examples/user-management/angular-user-management","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-21T11:16:45.000Z","updated_at":"2026-06-21T11:17:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/common, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic"},{"name":"@angular/router","repository_url":"https://github.com/angular/angular","old_version":"14.2.5","new_version":"22.0.2"}],"path":"/examples/user-management/angular-user-management","ecosystem":"npm"},"body":"Bumps [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common), [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms), [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser), [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) and [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router). These dependencies needed to be updated together.\nUpdates `@angular/common` from 14.2.5 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 14.2.5 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3f055435f6e2f5f9824bc8f70d061b284bea7c80\"\u003e\u003ccode\u003e3f05543\u003c/code\u003e\u003c/a\u003e refactor(forms): fix initWebMcpForm description to be required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003ccode\u003e11836a6\u003c/code\u003e\u003c/a\u003e fix(forms): delay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003ccode\u003ee51ad37\u003c/code\u003e\u003c/a\u003e fix(forms): remove animationstart listener on component destroy to prevent me...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003ccode\u003e85d2d10\u003c/code\u003e\u003c/a\u003e fix(forms): harden FormGroup control lookups against prototype shadowing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003ccode\u003ecdcea80\u003c/code\u003e\u003c/a\u003e fix(core): require WebMCP tool descriptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003ccode\u003e55b7b5a\u003c/code\u003e\u003c/a\u003e fix(forms): set \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e81c7e84669e06f70aff0ca80dc3792809afdbd3\"\u003e\u003ccode\u003ee81c7e8\u003c/code\u003e\u003c/a\u003e refactor(forms): type built-in getError results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb600aa3b265b559b456408617220744d8dd3b24\"\u003e\u003ccode\u003eeb600aa\u003c/code\u003e\u003c/a\u003e refactor(forms): mark date and limit signal forms APIs public\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/3b4ef1e2ffa7f33583b9d6c5d927e2148a507921\"\u003e\u003ccode\u003e3b4ef1e\u003c/code\u003e\u003c/a\u003e perf(forms): avoid redundant invalidations in parser errors signal\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 14.2.5 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\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/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/0d9a245345c5bb3013849d924efbfa3676b520a0\"\u003e\u003ccode\u003e0d9a245\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\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/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e\u003ccode\u003e5a7c1e6\u003c/code\u003e\u003c/a\u003e feat(core): add ability to cache resources for SSR\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/4ad3a1fe3793843270982e95389a3fefcb2c02e3\"\u003e\u003ccode\u003e4ad3a1f\u003c/code\u003e\u003c/a\u003e refactor(core): Don't throw when there are not async metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f3f3d7da1ed9f978fef5ac39f78dea292832b4c\"\u003e\u003ccode\u003e7f3f3d7\u003c/code\u003e\u003c/a\u003e ci: remove remainings of saucelabs tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f479ae9641a5c928f8eeab9c7846245002b3eff\"\u003e\u003ccode\u003e9f479ae\u003c/code\u003e\u003c/a\u003e feat(core): Update Testability to use PendingTasks for stability indicator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0454d4ced7ece95e3b21b1e6df6dde0e92ac3ee4\"\u003e\u003ccode\u003e0454d4c\u003c/code\u003e\u003c/a\u003e refactor(core): deprecate \u003ccode\u003ewithIncrementalHydration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 14.2.5 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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-dynamic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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/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/4ad3a1fe3793843270982e95389a3fefcb2c02e3\"\u003e\u003ccode\u003e4ad3a1f\u003c/code\u003e\u003c/a\u003e refactor(core): Don't throw when there are not async metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f3f3d7da1ed9f978fef5ac39f78dea292832b4c\"\u003e\u003ccode\u003e7f3f3d7\u003c/code\u003e\u003c/a\u003e ci: remove remainings of saucelabs tests\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\u003e\u003ca href=\"https://github.com/angular/angular/commit/d3f67f6ca83ce36291d444e664068e881b4caf66\"\u003e\u003ccode\u003ed3f67f6\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/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c3576506b3c13389e18fa4c0c29bdf536f604142\"\u003e\u003ccode\u003ec357650\u003c/code\u003e\u003c/a\u003e refactor(core): Update tests for zoneless by default (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/63668\"\u003e#63668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2fcafb65c5784ba151e01d808348fd68b3c39388\"\u003e\u003ccode\u003e2fcafb6\u003c/code\u003e\u003c/a\u003e build: rename defaults2.bzl to defaults.bzl (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/63383\"\u003e#63383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa8d8b8396c9992d25a2e0256ae895ca7c86ad66\"\u003e\u003ccode\u003efa8d8b8\u003c/code\u003e\u003c/a\u003e build: migrate all npm packages to use new rules_js based npm_package rule (#...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/packages/platform-browser-dynamic\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 14.2.5 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://githu...\n\n_Description has been truncated_\n\n\u003c!-- Reviewable:start --\u003e\n- - -\nThis change is [\u003cimg src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/\u003e](https://reviewable.io/reviews/Dustin4444/supabase/340)\n\u003c!-- Reviewable:end --\u003e\n","html_url":"https://github.com/Dustin4444/supabase/pull/340","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dustin4444%2Fsupabase/issues/340","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/340/packages"},{"uuid":"4708718814","node_id":"PR_kwDOSxAqvc7oxsGw","number":15,"state":"open","title":"chore(deps): bump the angular group across 1 directory with 13 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-20T23:40:43.000Z","updated_at":"2026-06-27T20:32:32.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":13,"packages":[{"name":"@angular/animations","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"19.2.19","new_version":"22.0.2","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"19.2.19","new_version":"22.0.2","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/build-angular","old_version":"19.2.27","new_version":"22.0.3","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"19.2.27","new_version":"22.0.3","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 13 updates in the /hiresync directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `19.2.25` | `22.0.2` |\n| [@angular/cdk](https://github.com/angular/components) | `19.2.19` | `22.0.2` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `19.2.25` | `22.0.2` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `19.2.25` | `22.0.2` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `19.2.25` | `22.0.2` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `19.2.25` | `22.0.2` |\n| [@angular/material](https://github.com/angular/components) | `19.2.19` | `22.0.2` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `19.2.25` | `22.0.2` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `19.2.25` | `22.0.2` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `19.2.25` | `22.0.2` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `19.2.27` | `22.0.3` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `19.2.27` | `22.0.3` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `19.2.25` | `22.0.2` |\n\n\nUpdates `@angular/animations` from 19.2.25 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 19.2.19 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/fb4478bff31976f6179fde21f800f1326395f707\"\u003e\u003cimg src=\"https://img.shields.io/badge/fb4478bff3-fix-green\" alt=\"fix - fb4478bff3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebottom-sheet:\u003c/strong\u003e ensure animation event comes from container\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e4f7f3498b472badf60250ca1bf884e6b0f7a6aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/e4f7f3498b-fix-green\" alt=\"fix - e4f7f3498b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003echips:\u003c/strong\u003e correct focus management on chip destruction (\u003ca href=\"https://redirect.github.com/angular/components/issues/33329\"\u003e#33329\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/766b7aceee027d6f40af15ab29d6fd47ebe1661b\"\u003e\u003cimg src=\"https://img.shields.io/badge/766b7aceee-fix-green\" alt=\"fix - 766b7aceee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003echips:\u003c/strong\u003e wrong padding when chip only has edit icon (\u003ca href=\"https://redirect.github.com/angular/components/issues/33407\"\u003e#33407\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ebca801ee55b9f63a3b5b29cc6113e09ff66ffe2\"\u003e\u003cimg src=\"https://img.shields.io/badge/ebca801ee5-fix-green\" alt=\"fix - ebca801ee5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid-list:\u003c/strong\u003e always validate colspan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/30942bcd3640efd7f3980044144dd1fc8b10e8f3\"\u003e\u003cimg src=\"https://img.shields.io/badge/30942bcd36-fix-green\" alt=\"fix - 30942bcd36\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e validate animation durations\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e8f34190606a706e27b594ad84543fad62dd24e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e8f3419060-fix-green\" alt=\"fix - e8f3419060\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elayout:\u003c/strong\u003e avoid CSS injection attacks in media matcher\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9dc2b2b2edefa0b01859ef68059d1a16a6837ecc\"\u003e\u003cimg src=\"https://img.shields.io/badge/9dc2b2b2ed-fix-green\" alt=\"fix - 9dc2b2b2ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eplatform:\u003c/strong\u003e account for composedPath error during event replay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33409\"\u003e#33409\u003c/a\u003e)\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\u003eDescription\u003c/th\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/2995797ded3713909d9742c4032f4f8647193cb3\"\u003e\u003cimg src=\"https://img.shields.io/badge/2995797ded-fix-green\" alt=\"fix - 2995797ded\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove dark theme visibility in menu, overlay, and portal examples (\u003ca href=\"https://redirect.github.com/angular/components/issues/33367\"\u003e#33367\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d75a22d69ddc9ffc5afa6b677f39fbbfc3ad5f7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d75a22d69-fix-green\" alt=\"fix - d75a22d69\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid errors with clobbered variables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/fe0a96ce673c3622e87a7a44bff8f40a1ad70675\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe0a96ce6-fix-green\" alt=\"fix - fe0a96ce6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate ID before attaching them to placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003e\u003cimg src=\"https://img.shields.io/badge/d7a8cb963-fix-green\" alt=\"fix - d7a8cb963\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/issues/33373\"\u003e#33373\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bde3c7621dddba2932f23743fc67a18feec664fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/bde3c7621-fix-green\" alt=\"fix - bde3c7621\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etimepicker:\u003c/strong\u003e do not allow intervals less than a second (\u003ca href=\"https://redirect.github.com/angular/components/issues/33354\"\u003e#33354\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/629aea4032cedf9428e3ed4f729d6a5836fa84de\"\u003e\u003cimg src=\"https://img.shields.io/badge/629aea403-fix-green\" alt=\"fix - 629aea403\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e avoid prototype conflicts in id generator (\u003ca href=\"https://redirect.github.com/angular/components/issues/33356\"\u003e#33356\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e\u003cimg src=\"https://img.shields.io/badge/49aeb676c-fix-green\" alt=\"fix - 49aeb676c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eclipboard:\u003c/strong\u003e avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33366\"\u003e#33366\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7581b0592b6aef617e3563e206b0645d3122d68c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7581b0592-fix-green\" alt=\"fix - 7581b0592\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e avoid error for synthetic events (\u003ca href=\"https://redirect.github.com/angular/components/issues/33360\"\u003e#33360\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1c4706155d6f8a5d465dbb2b6a40cf7da2efdf17\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c4706155-fix-green\" alt=\"fix - 1c4706155\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e prevent re-dispatching keyboard event on control target change (\u003ca href=\"https://redirect.github.com/angular/components/issues/33362\"\u003e#33362\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/96e9ce10c35ea3df9a9604a5ab3b5c85e8cc263e\"\u003e\u003cimg src=\"https://img.shields.io/badge/96e9ce10c-fix-green\" alt=\"fix - 96e9ce10c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e recursive textDirection getter (\u003ca href=\"https://redirect.github.com/angular/components/issues/33337\"\u003e#33337\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d91f46b4c522159e025d3b94b653981f344a4fdf\"\u003e\u003cimg src=\"https://img.shields.io/badge/d91f46b4c-feat-blue\" alt=\"feat - d91f46b4c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eaccordion:\u003c/strong\u003e introduce accordion harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33046\"\u003e#33046\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e3d84f2e0adb9254d804c10ba24e6c4528efad53\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3d84f2e0-feat-blue\" alt=\"feat - e3d84f2e0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33194\"\u003e#33194\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0ca47b4a060595919fd2b2cd62d0097071c4795d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0ca47b4a0-feat-blue\" alt=\"feat - 0ca47b4a0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e migrate simple-combobox directly into primary entrypoints (\u003ca href=\"https://redirect.github.com/angular/components/issues/33206\"\u003e#33206\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6ec07bc0cbe39be48faaf6021caecf2d0037df1f\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec07bc0c-feat-blue\" alt=\"feat - 6ec07bc0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33081\"\u003e#33081\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.2 \u0026quot;plastic lion\u0026quot; (2026-06-17)\u003c/h1\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/e8f34190606a706e27b594ad84543fad62dd24e8\"\u003ee8f3419060\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elayout:\u003c/strong\u003e avoid CSS injection attacks in media matcher\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9dc2b2b2edefa0b01859ef68059d1a16a6837ecc\"\u003e9dc2b2b2ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eplatform:\u003c/strong\u003e account for composedPath error during event replay (\u003ca href=\"https://redirect.github.com/angular/components/pull/33409\"\u003e#33409\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/fb4478bff31976f6179fde21f800f1326395f707\"\u003efb4478bff3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebottom-sheet:\u003c/strong\u003e ensure animation event comes from container\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e4f7f3498b472badf60250ca1bf884e6b0f7a6aa\"\u003ee4f7f3498b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003echips:\u003c/strong\u003e correct focus management on chip destruction (\u003ca href=\"https://redirect.github.com/angular/components/pull/33329\"\u003e#33329\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/766b7aceee027d6f40af15ab29d6fd47ebe1661b\"\u003e766b7aceee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003echips:\u003c/strong\u003e wrong padding when chip only has edit icon (\u003ca href=\"https://redirect.github.com/angular/components/pull/33407\"\u003e#33407\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ebca801ee55b9f63a3b5b29cc6113e09ff66ffe2\"\u003eebca801ee5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid-list:\u003c/strong\u003e always validate colspan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/30942bcd3640efd7f3980044144dd1fc8b10e8f3\"\u003e30942bcd36\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e validate animation durations\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/2995797ded3713909d9742c4032f4f8647193cb3\"\u003e2995797ded\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove dark theme visibility in menu, overlay, and portal examples (\u003ca href=\"https://redirect.github.com/angular/components/pull/33367\"\u003e#33367\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.1.0-next.0 \u0026quot;argon-pineapple\u0026quot; (2026-06-10)\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.1 \u0026quot;argon-apple\u0026quot; (2026-06-10)\u003c/h1\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7581b0592b6aef617e3563e206b0645d3122d68c\"\u003e7581b0592\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e avoid error for synthetic events (\u003ca href=\"https://redirect.github.com/angular/components/pull/33360\"\u003e#33360\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1c4706155d6f8a5d465dbb2b6a40cf7da2efdf17\"\u003e1c4706155\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e prevent re-dispatching keyboard event on control target change (\u003ca href=\"https://redirect.github.com/angular/components/pull/33362\"\u003e#33362\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/96e9ce10c35ea3df9a9604a5ab3b5c85e8cc263e\"\u003e96e9ce10c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e recursive textDirection getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33337\"\u003e#33337\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/629aea4032cedf9428e3ed4f729d6a5836fa84de\"\u003e629aea403\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e avoid prototype conflicts in id generator (\u003ca href=\"https://redirect.github.com/angular/components/pull/33356\"\u003e#33356\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e49aeb676c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eclipboard:\u003c/strong\u003e avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/pull/33366\"\u003e#33366\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003ed7a8cb963\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/pull/33373\"\u003e#33373\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bde3c7621dddba2932f23743fc67a18feec664fe\"\u003ebde3c7621\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etimepicker:\u003c/strong\u003e do not allow intervals less than a second (\u003ca href=\"https://redirect.github.com/angular/components/pull/33354\"\u003e#33354\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d75a22d69ddc9ffc5afa6b677f39fbbfc3ad5f7f\"\u003ed75a22d69\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid errors with clobbered variables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/fe0a96ce673c3622e87a7a44bff8f40a1ad70675\"\u003efe0a96ce6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate ID before attaching them to placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\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/9b9d0ea00087369b6fe96e6c32bc8ace6ca8015d\"\u003e\u003ccode\u003e9b9d0ea\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/7b54e9538241d606e9efb4c23074d03e0120df1c\"\u003e\u003ccode\u003e7b54e95\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33398\"\u003e#33398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b77a82902069fc78a30c35bf45ed1dcec630e1b9\"\u003e\u003ccode\u003eb77a829\u003c/code\u003e\u003c/a\u003e docs(google-maps): Document the behavior of using the clusterClick output in ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/605f20016e3a316c6488e6974fbc6efdd04cf952\"\u003e\u003ccode\u003e605f200\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.34.3 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33392\"\u003e#33392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/030915030f89acdfadabcef41596848fa5fc5324\"\u003e\u003ccode\u003e0309150\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33406\"\u003e#33406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/9dc2b2b2edefa0b01859ef68059d1a16a6837ecc\"\u003e\u003ccode\u003e9dc2b2b\u003c/code\u003e\u003c/a\u003e fix(cdk/platform): account for composedPath error during event replay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33409\"\u003e#33409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/766b7aceee027d6f40af15ab29d6fd47ebe1661b\"\u003e\u003ccode\u003e766b7ac\u003c/code\u003e\u003c/a\u003e fix(material/chips): wrong padding when chip only has edit icon (\u003ca href=\"https://redirect.github.com/angular/components/issues/33407\"\u003e#33407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/f7170b985aed8bf593ccdc76bdfb957e664a6491\"\u003e\u003ccode\u003ef7170b9\u003c/code\u003e\u003c/a\u003e build: fix build failure (\u003ca href=\"https://redirect.github.com/angular/components/issues/33408\"\u003e#33408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e4f7f3498b472badf60250ca1bf884e6b0f7a6aa\"\u003e\u003ccode\u003ee4f7f34\u003c/code\u003e\u003c/a\u003e fix(material/chips): correct focus management on chip destruction (\u003ca href=\"https://redirect.github.com/angular/components/issues/33329\"\u003e#33329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/9ad7964f9b6f67cb39a749a1f3e6bd93a469aeb6\"\u003e\u003ccode\u003e9ad7964\u003c/code\u003e\u003c/a\u003e build: update review config (\u003ca href=\"https://redirect.github.com/angular/components/issues/33394\"\u003e#33394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/19.2.19...v22.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 19.2.25 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 19.2.25 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427\"\u003e\u003ccode\u003ef309727\u003c/code\u003e\u003c/a\u003e refactor(compiler): Collect in-element comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4\"\u003e\u003ccode\u003e8bb3947\u003c/code\u003e\u003c/a\u003e refactor: optimize dom security schema lookups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4645850e24d2764313040b6711af93d3fd426825\"\u003e\u003ccode\u003e4645850\u003c/code\u003e\u003c/a\u003e refactor(compiler): Remove 80 char limit on AbstractEmitterVisitor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003ccode\u003e1ee224c\u003c/code\u003e\u003c/a\u003e fix(compiler): disallow i18n event attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003ccode\u003e5946c18\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003ccode\u003e393b84c\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize two-way properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003ccode\u003e3d9ca2f\u003c/code\u003e\u003c/a\u003e fix(compiler-cli): bind switch exhaustive check expressions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 19.2.25 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/...\n\n_Description has been truncated_","html_url":"https://github.com/gripexdev/hiresync/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gripexdev%2Fhiresync/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"4698332731","node_id":"PR_kwDOROE8js7oP5lk","number":41,"state":"open","title":"build(deps)(deps): Bump the angular group with 9 updates","user":"dependabot[bot]","labels":["dependencies","automated"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-19T06:05:35.000Z","updated_at":"2026-06-28T03:14:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)(deps): Bump","group_name":"angular","update_count":9,"packages":[{"name":"@angular/common","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.11","new_version":"21.2.16","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.11","new_version":"21.2.16","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.13` | `21.2.17` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.13` | `21.2.17` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.13` | `21.2.17` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.13` | `21.2.17` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.13` | `21.2.17` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.13` | `21.2.17` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.16` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.16` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.13` | `21.2.17` |\n\nUpdates `@angular/common` from 21.2.13 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003ccode\u003e86a56dc\u003c/code\u003e\u003c/a\u003e fix(common): Limits date format string length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003ccode\u003ebcb1b7e\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003ccode\u003ea810a31\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003ccode\u003ebc55749\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003ccode\u003ed846326\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003ccode\u003ee245d40\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003ccode\u003ef6d8e64\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/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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003ccode\u003edc9c996\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize two-way properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003ccode\u003eae1c8a1\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/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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003ccode\u003e88832c8\u003c/code\u003e\u003c/a\u003e fix(core): validate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69269\"\u003e#69269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003ccode\u003e3551074\u003c/code\u003e\u003c/a\u003e fix(platform-server): harden platform location origin validation during SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003ccode\u003ebc55749\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003ccode\u003ed846326\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003ccode\u003ee245d40\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003ccode\u003e1523061\u003c/code\u003e\u003c/a\u003e fix(core): harden TransferState restoration against DOM clobbering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/736c4ab7e6d9168dedd4cc08b4802ec0af40edee\"\u003e\u003ccode\u003e736c4ab\u003c/code\u003e\u003c/a\u003e refactor(core): fix broken unit test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003ccode\u003e3fd6897\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/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003ccode\u003e7e38336\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/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/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.17/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.13 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/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.17/packages/platform-browser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 21.2.13 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d...\n\n_Description has been truncated_","html_url":"https://github.com/zahlenhelfer/ng-marvinapp/pull/41","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zahlenhelfer%2Fng-marvinapp/issues/41","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/41/packages"},{"uuid":"4671023550","node_id":"PR_kwDOR4aX4M7m117x","number":72,"state":"open","title":"Build(deps): bump the production-dependencies group across 1 directory with 17 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-16T04:19:21.000Z","updated_at":"2026-06-16T04:20:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): bump","group_name":"production-dependencies","update_count":17,"packages":[{"name":"@angular/common","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"apexcharts","old_version":"5.13.0","new_version":"5.15.0","repository_url":"https://github.com/apexcharts/apexcharts.js"},{"name":"@angular/build","old_version":"21.2.12","new_version":"21.2.15","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.12","new_version":"21.2.15","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@tailwindcss/postcss","old_version":"4.3.0","new_version":"4.3.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.60.0","new_version":"8.61.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.7","new_version":"4.1.9","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-dependencies group with 14 updates in the /smartwallet-front directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.14` | `21.2.17` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.14` | `21.2.17` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.14` | `21.2.17` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.14` | `21.2.17` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.14` | `21.2.17` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.14` | `21.2.17` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.14` | `21.2.17` |\n| [apexcharts](https://github.com/apexcharts/apexcharts.js) | `5.13.0` | `5.15.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.15` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.15` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.14` | `21.2.17` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.3.0` | `4.3.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.60.0` | `8.61.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.7` | `4.1.9` |\n\n\nUpdates `@angular/common` from 21.2.14 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003ccode\u003e86a56dc\u003c/code\u003e\u003c/a\u003e fix(common): Limits date format string length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003ccode\u003ebcb1b7e\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003ccode\u003ea810a31\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003ccode\u003ebc55749\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003ccode\u003ed846326\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003ccode\u003ee245d40\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003ccode\u003ef6d8e64\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/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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003ccode\u003edc9c996\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize two-way properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003ccode\u003eae1c8a1\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/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.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003ccode\u003e88832c8\u003c/code\u003e\u003c/a\u003e fix(core): validate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69269\"\u003e#69269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003ccode\u003e3551074\u003c/code\u003e\u003c/a\u003e fix(platform-server): harden platform location origin validation during SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003ccode\u003ebc55749\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003ccode\u003ed846326\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003ccode\u003ee245d40\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003ccode\u003e1523061\u003c/code\u003e\u003c/a\u003e fix(core): harden TransferState restoration against DOM clobbering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/736c4ab7e6d9168dedd4cc08b4802ec0af40edee\"\u003e\u003ccode\u003e736c4ab\u003c/code\u003e\u003c/a\u003e refactor(core): fix broken unit test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003ccode\u003e3fd6897\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/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003ccode\u003e7e38336\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/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\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.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/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.17/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.14 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.c...\n\n_Description has been truncated_","html_url":"https://github.com/Mailonap543/Smartwallet/pull/72","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mailonap543%2FSmartwallet/issues/72","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/72/packages"},{"uuid":"4669999312","node_id":"PR_kwDORkRvh87mykIW","number":34,"state":"open","title":"Bump @angular/core, @angular/animations, @angular/common, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic and @angular/router","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-16T00:35:15.000Z","updated_at":"2026-06-16T00:35:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/core, @angular/animations, @angular/common, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic"},{"name":"@angular/router","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core), [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations), [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common), [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms), [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser), [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) and [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router). These dependencies needed to be updated together.\nUpdates `@angular/core` from 19.2.19 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4b0c3b8b8f1dbdb6ba31cb6499c393b1ccd81c6c\"\u003e\u003ccode\u003e4b0c3b8\u003c/code\u003e\u003c/a\u003e refactor(core): Update registerNgModuleType to support codegen typechecking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dbf64c8eb55ef5d2480abfbb4e362edccf79f971\"\u003e\u003ccode\u003edbf64c8\u003c/code\u003e\u003c/a\u003e test(core): fix AI tools test flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003ccode\u003e045bb73\u003c/code\u003e\u003c/a\u003e fix(core): validate lowercase SVG animation attribute names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003ccode\u003e1ee224c\u003c/code\u003e\u003c/a\u003e fix(compiler): disallow i18n event attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003ccode\u003e5946c18\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b1f02eb5c5fd6c4a62cadf4ff4f04a3046a65002\"\u003e\u003ccode\u003eb1f02eb\u003c/code\u003e\u003c/a\u003e refactor(core): add internal utility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003ccode\u003e85d2d10\u003c/code\u003e\u003c/a\u003e fix(forms): harden FormGroup control lookups against prototype shadowing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6e3d51d7df3c8a4013cee7ec96c03835e0eeb9e2\"\u003e\u003ccode\u003e6e3d51d\u003c/code\u003e\u003c/a\u003e refactor(migrations): Improve \u003ccode\u003esafeNavigationMigration\u003c/code\u003e heuristic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/01ea640539efda57e35807cef61abaf403686fe9\"\u003e\u003ccode\u003e01ea640\u003c/code\u003e\u003c/a\u003e refactor(core): Fix DirectiveDefinition interface to allow abstract classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a704b08379e92294c59e47af7703edfefdaff6b8\"\u003e\u003ccode\u003ea704b08\u003c/code\u003e\u003c/a\u003e docs: add Signal Forms and v22 guidance to AI best-practices and llms.txt\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/animations` from 19.2.19 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 19.2.19 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003ccode\u003edfff57e\u003c/code\u003e\u003c/a\u003e fix(common): Limits date format string length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003ccode\u003e1d87c49\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003ccode\u003effb06c0\u003c/code\u003e\u003c/a\u003e fix(http): ensure query parameters are inserted before URL fragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 19.2.19 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ct...\n\n_Description has been truncated_","html_url":"https://github.com/aleksicdacha/portfolio/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksicdacha%2Fportfolio/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"}],"issue_packages":[{"old_version":"22.0.8","new_version":"22.1.0","update_type":"minor","path":null,"pr_created_at":"2026-08-03T23:34:38.000Z","version_change":"22.0.8 → 22.1.0","issue":{"uuid":"5055114444","node_id":"PR_kwDOHBnFWs76ROW6","number":1324,"state":"open","title":"Bump the angular group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-08-03T23:34:38.000Z","updated_at":"2026-08-07T16:23:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"angular","update_count":13,"packages":[{"name":"@angular/animations","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"22.0.6","new_version":"22.1.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/localize","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"22.0.8","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.8","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `22.0.8` | `22.1.0` |\n| [@angular/cdk](https://github.com/angular/components) | `22.0.6` | `22.1.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.8` | `22.1.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.8` | `22.1.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.8` | `22.1.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.8` | `22.1.0` |\n| [@angular/localize](https://github.com/angular/angular) | `22.0.8` | `22.1.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.8` | `22.1.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.8` | `22.1.0` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `22.0.8` | `22.1.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.8` | `22.1.2` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.8` | `22.1.2` |\n\n\nUpdates `@angular/animations` from 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/861d37e6696c8fcdbf8f67900e009b1c66fd1f82\"\u003e\u003ccode\u003e861d37e\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/a7dab601fafba6c5cb3d3c8d96b4f4b38cb273ac\"\u003e\u003ccode\u003ea7dab60\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 22.0.6 to 22.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.1.0\u003c/h2\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/2430e6e53bb797129a3ed0ee4a024ed647785b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/2430e6e53-fix-green\" alt=\"fix - 2430e6e53\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate to latest typings and fix error (\u003ca href=\"https://redirect.github.com/angular/components/issues/33387\"\u003e#33387\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/73939a835b49f9603cc8026eb373dbef5e9cb96a\"\u003e\u003cimg src=\"https://img.shields.io/badge/73939a835-feat-blue\" alt=\"feat - 73939a835\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e add full-width support (\u003ca href=\"https://redirect.github.com/angular/components/issues/33424\"\u003e#33424\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e\u003cimg src=\"https://img.shields.io/badge/56c7ff6fa-fix-green\" alt=\"fix - 56c7ff6fa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/issues/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e\u003cimg src=\"https://img.shields.io/badge/0e34c64d0-fix-green\" alt=\"fix - 0e34c64d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/issues/33562\"\u003e#33562\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/31781a0246acacc7db7d8f77d502d2460e2cd832\"\u003e\u003cimg src=\"https://img.shields.io/badge/31781a024-fix-green\" alt=\"fix - 31781a024\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e allow setting readonly (\u003ca href=\"https://redirect.github.com/angular/components/issues/33364\"\u003e#33364\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.1.0-rc.0\u003c/h2\u003e\n\u003ch3\u003ematerial-luxon-adapter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\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/452d3cce3e2c651945e0f85c545a2e13b90b8add\"\u003e\u003cimg src=\"https://img.shields.io/badge/452d3cce3e-fix-green\" alt=\"fix - 452d3cce3e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/issues/33564\"\u003e#33564\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/3d21c1b9a2ba57dc1e5c5ff23e8ff63d50b607f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d21c1b9a2-fix-green\" alt=\"fix - 3d21c1b9a2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/issues/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9105a44b83062e1a2a896a98bc229f2fa050ba91\"\u003e\u003cimg src=\"https://img.shields.io/badge/9105a44b83-fix-green\" alt=\"fix - 9105a44b83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a62e65971a379715b8bae2e437e67b62c113a263\"\u003e\u003cimg src=\"https://img.shields.io/badge/a62e65971a-fix-green\" alt=\"fix - a62e65971a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e\u003cimg src=\"https://img.shields.io/badge/56c7ff6fa3-fix-green\" alt=\"fix - 56c7ff6fa3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/issues/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce6875ea7acbcf71c93cd19f3de525ceff29651c\"\u003e\u003cimg src=\"https://img.shields.io/badge/ce6875ea7a-fix-green\" alt=\"fix - ce6875ea7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33554\"\u003e#33554\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e\u003cimg src=\"https://img.shields.io/badge/0e34c64d0c-fix-green\" alt=\"fix - 0e34c64d0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/issues/33562\"\u003e#33562\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b211bf15f7090546b82957cb34d0d60409733fb1\"\u003e\u003cimg src=\"https://img.shields.io/badge/b211bf15f7-fix-green\" alt=\"fix - b211bf15f7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e account for disabled cell widgets and in-place disablement in roving tabindex (\u003ca href=\"https://redirect.github.com/angular/components/issues/33571\"\u003e#33571\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.1.0-next.4\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/d324696863cfc4ee7f4475499d7f0dbed8496d74\"\u003e\u003cimg src=\"https://img.shields.io/badge/d324696863-fix-green\" alt=\"fix - d324696863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e match focus indicator shape to FAB (\u003ca href=\"https://redirect.github.com/angular/components/issues/33527\"\u003e#33527\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9a247a8da23f2c9d5ed03c68d21659f814ae29c6\"\u003e\u003cimg src=\"https://img.shields.io/badge/9a247a8da2-fix-green\" alt=\"fix - 9a247a8da2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e use rounded shape for calendar focus indicators (\u003ca href=\"https://redirect.github.com/angular/components/issues/33524\"\u003e#33524\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/14d896a9366bca6df253af2aade8de4c09f98ba7\"\u003e\u003cimg src=\"https://img.shields.io/badge/14d896a936-fix-green\" alt=\"fix - 14d896a936\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e double focus indicators when strong focus is enabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33520\"\u003e#33520\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c729db79725e819d0ecd3e08cdd0cd876ddae755\"\u003e\u003cimg src=\"https://img.shields.io/badge/c729db7972-fix-green\" alt=\"fix - c729db7972\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e add border radius to header hover state in m2 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33529\"\u003e#33529\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.1.0 \u0026quot;v22-1-0\u0026quot; (2026-07-29)\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/31781a0246acacc7db7d8f77d502d2460e2cd832\"\u003e31781a024\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e allow setting readonly (\u003ca href=\"https://redirect.github.com/angular/components/pull/33364\"\u003e#33364\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/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e0e34c64d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/pull/33562\"\u003e#33562\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/73939a835b49f9603cc8026eb373dbef5e9cb96a\"\u003e73939a835\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e add full-width support (\u003ca href=\"https://redirect.github.com/angular/components/pull/33424\"\u003e#33424\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e56c7ff6fa\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/pull/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/2430e6e53bb797129a3ed0ee4a024ed647785b17\"\u003e2430e6e53\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate to latest typings and fix error (\u003ca href=\"https://redirect.github.com/angular/components/pull/33387\"\u003e#33387\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.7 \u0026quot;v22-0-7\u0026quot; (2026-07-29)\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/e57188b33fe59a78398172016251b1c78bae75df\"\u003ee57188b33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e account for disabled cell widgets and in-place disablement in roving tabindex (\u003ca href=\"https://redirect.github.com/angular/components/pull/33571\"\u003e#33571\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/223c51543352dcfe1f85da733dde9b9179f55095\"\u003e223c51543\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eschematics:\u003c/strong\u003e resolve issues in navigation schematic (\u003ca href=\"https://redirect.github.com/angular/components/pull/33590\"\u003e#33590\u003c/a\u003e)\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/963383e25c90d8c3f6b4489eef7f242fe16cd957\"\u003e963383e25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid instanceof checks in aria directives (\u003ca href=\"https://redirect.github.com/angular/components/pull/33587\"\u003e#33587\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/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/components/commit/7965866634db1a5f5d31ed2bc481c664e241c4c5\"\u003e\u003ccode\u003e7965866\u003c/code\u003e\u003c/a\u003e release: cut the v22.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/176142678f161f993cccf261287c3964bfc94552\"\u003e\u003ccode\u003e1761426\u003c/code\u003e\u003c/a\u003e docs: convert CDK overlay to signals (\u003ca href=\"https://redirect.github.com/angular/components/issues/33591\"\u003e#33591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/0d70daae47f6f879b6c4a537229befeea44c77aa\"\u003e\u003ccode\u003e0d70daa\u003c/code\u003e\u003c/a\u003e fix(material/schematics): resolve issues in navigation schematic (\u003ca href=\"https://redirect.github.com/angular/components/issues/33590\"\u003e#33590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d89d07aa0180004723e6ded4ede97110d1f273a2\"\u003e\u003ccode\u003ed89d07a\u003c/code\u003e\u003c/a\u003e refactor(cdk/clipboard): switch tests away from fakeAsync (\u003ca href=\"https://redirect.github.com/angular/components/issues/33585\"\u003e#33585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/ba02c5f79a68c05753188763ca3aba186e6bd5f6\"\u003e\u003ccode\u003eba02c5f\u003c/code\u003e\u003c/a\u003e fix(multiple): avoid instanceof checks in aria directives (\u003ca href=\"https://redirect.github.com/angular/components/issues/33587\"\u003e#33587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/9f782683365b876a2f1eb76f94941f44a59c7af8\"\u003e\u003ccode\u003e9f78268\u003c/code\u003e\u003c/a\u003e release: cut the v22.1.0-rc.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b211bf15f7090546b82957cb34d0d60409733fb1\"\u003e\u003ccode\u003eb211bf1\u003c/code\u003e\u003c/a\u003e fix(aria/grid): account for disabled cell widgets and in-place disablement in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/501d6744b377e1ef7d1cf7e86edcc0eedbf755e7\"\u003e\u003ccode\u003e501d674\u003c/code\u003e\u003c/a\u003e build: skip branch manager job on forked repositories (\u003ca href=\"https://redirect.github.com/angular/components/issues/33233\"\u003e#33233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/def30ba343456fdd7c43ab585748cb1c26ac44fe\"\u003e\u003ccode\u003edef30ba\u003c/code\u003e\u003c/a\u003e docs: release notes for the v22.0.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/659b5624366099931bfa8d125a3265ede8302ba2\"\u003e\u003ccode\u003e659b562\u003c/code\u003e\u003c/a\u003e build: update dependencies and account for breaking changes (\u003ca href=\"https://redirect.github.com/angular/components/issues/33565\"\u003e#33565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v22.0.6...v22.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/79a37f3d0b690a9e9cc893a10cef4ef4cdce4c3b\"\u003e\u003ccode\u003e79a37f3\u003c/code\u003e\u003c/a\u003e refactor(common): replaces the deprecated positional \u003ccode\u003esubscribe\u003c/code\u003e arguments wi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6dcb534e127d8b9971103596844ca1c0e736596b\"\u003e\u003ccode\u003e6dcb534\u003c/code\u003e\u003c/a\u003e refactor(common): remove duplicate helper function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003ccode\u003eec16a3d\u003c/code\u003e\u003c/a\u003e fix(http): enable xsrf for root-provided HttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003ccode\u003e39e362e\u003c/code\u003e\u003c/a\u003e fix(http): match header values exactly when deleting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003ccode\u003ebe46ca8\u003c/code\u003e\u003c/a\u003e fix(http): preserve immutability of materialized clones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d14696e4308c5cd95cf2184cae3582b52f7c7cf3\"\u003e\u003ccode\u003ed14696e\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3192dccaa3e1488f8bf351864ea48e44a21246aa\"\u003e\u003ccode\u003e3192dcc\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185\"\u003e\u003ccode\u003e359fb50\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6d043f86573e317f20039ccec031d6e63c01b656\"\u003e\u003ccode\u003e6d043f8\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c1829f6d7cc37aec73217a53da1e8314690c8c79\"\u003e\u003ccode\u003ec1829f6\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.c...\n\n_Description has been truncated_","html_url":"https://github.com/cjmalloy/jasper-ui/pull/1324","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjmalloy%2Fjasper-ui/issues/1324","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1324/packages"}},{"old_version":"20.3.18","new_version":"22.1.0","update_type":"major","path":null,"pr_created_at":"2026-08-03T17:20:45.000Z","version_change":"20.3.18 → 22.1.0","issue":{"uuid":"5052446308","node_id":"PR_kwDOP0e6ns76Ilg-","number":100,"state":"closed","title":"chore(deps): bump the npm-deps group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-08-07T17:17:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-03T17:20:45.000Z","updated_at":"2026-08-07T17:17:48.000Z","time_to_close":345421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-deps","update_count":34,"packages":[{"name":"@angular/animations","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"20.2.14","new_version":"22.1.0","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"material-symbols","old_version":"0.42.3","new_version":"0.45.10","repository_url":"https://github.com/marella/material-symbols"},{"name":"ngx-float-ui","old_version":"20.1.0","new_version":"21.0.1","repository_url":"https://github.com/tonysamperi/ngx-float-ui"},{"name":"uuid","old_version":"14.0.0","new_version":"14.0.1","repository_url":"https://github.com/uuidjs/uuid"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/core","old_version":"20.3.21","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular-devkit/build-angular","old_version":"20.3.21","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"20.3.21","new_version":"22.1.2","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"20.3.18","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@cypress/schematic","old_version":"4.3.0","new_version":"5.0.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"@tailwindcss/postcss","old_version":"4.2.2","new_version":"4.3.3","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/jasmine","old_version":"5.1.15","new_version":"6.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"angular-eslint","old_version":"20.5.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"cypress","old_version":"15.13.0","new_version":"15.19.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"daisyui","old_version":"5.5.19","new_version":"5.7.9","repository_url":"https://github.com/saadeghi/daisyui"},{"name":"eslint","old_version":"9.39.4","new_version":"10.8.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jasmine-core","old_version":"5.12.1","new_version":"6.3.0","repository_url":"https://github.com/jasmine/jasmine"},{"name":"karma-jasmine-html-reporter","old_version":"2.1.0","new_version":"2.2.0","repository_url":"https://github.com/dfederm/karma-jasmine-html-reporter"},{"name":"lint-staged","old_version":"16.4.0","new_version":"17.3.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"ng-packagr","old_version":"20.3.2","new_version":"22.1.0","repository_url":"https://github.com/ng-packagr/ng-packagr"},{"name":"prettier","old_version":"3.8.1","new_version":"3.9.6","repository_url":"https://github.com/prettier/prettier"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.46.2","new_version":"8.65.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-deps group with 31 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `20.3.18` | `22.1.0` |\n| [@angular/cdk](https://github.com/angular/components) | `20.2.14` | `22.1.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `20.3.18` | `22.1.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `20.3.18` | `22.1.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `20.3.18` | `22.1.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `20.3.18` | `22.1.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `20.3.18` | `22.1.0` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `20.3.18` | `22.1.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `20.3.18` | `22.1.0` |\n| [material-symbols](https://github.com/marella/material-symbols/tree/HEAD/material-symbols) | `0.42.3` | `0.45.10` |\n| [ngx-float-ui](https://github.com/tonysamperi/ngx-float-ui) | `20.1.0` | `21.0.1` |\n| [uuid](https://github.com/uuidjs/uuid) | `14.0.0` | `14.0.1` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n| [@angular-devkit/core](https://github.com/angular/angular-cli) | `20.3.21` | `22.1.2` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `20.3.21` | `22.1.2` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `20.3.21` | `22.1.2` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `20.3.18` | `22.1.0` |\n| [@cypress/schematic](https://github.com/cypress-io/cypress) | `4.3.0` | `5.0.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.2` | `4.3.3` |\n| [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) | `5.1.15` | `6.0.0` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `20.5.0` | `22.1.0` |\n| [cypress](https://github.com/cypress-io/cypress) | `15.13.0` | `15.19.0` |\n| [daisyui](https://github.com/saadeghi/daisyui/tree/HEAD/packages/daisyui) | `5.5.19` | `5.7.9` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.8.0` |\n| [jasmine-core](https://github.com/jasmine/jasmine) | `5.12.1` | `6.3.0` |\n| [karma-jasmine-html-reporter](https://github.com/dfederm/karma-jasmine-html-reporter) | `2.1.0` | `2.2.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.4.0` | `17.3.0` |\n| [ng-packagr](https://github.com/ng-packagr/ng-packagr) | `20.3.2` | `22.1.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.9.6` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.46.2` | `8.65.0` |\n\n\nUpdates `@angular/animations` from 20.3.18 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/861d37e6696c8fcdbf8f67900e009b1c66fd1f82\"\u003e\u003ccode\u003e861d37e\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/a7dab601fafba6c5cb3d3c8d96b4f4b38cb273ac\"\u003e\u003ccode\u003ea7dab60\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\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.0/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cdk` from 20.2.14 to 22.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.1.0\u003c/h2\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/2430e6e53bb797129a3ed0ee4a024ed647785b17\"\u003e\u003cimg src=\"https://img.shields.io/badge/2430e6e53-fix-green\" alt=\"fix - 2430e6e53\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate to latest typings and fix error (\u003ca href=\"https://redirect.github.com/angular/components/issues/33387\"\u003e#33387\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/73939a835b49f9603cc8026eb373dbef5e9cb96a\"\u003e\u003cimg src=\"https://img.shields.io/badge/73939a835-feat-blue\" alt=\"feat - 73939a835\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e add full-width support (\u003ca href=\"https://redirect.github.com/angular/components/issues/33424\"\u003e#33424\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e\u003cimg src=\"https://img.shields.io/badge/56c7ff6fa-fix-green\" alt=\"fix - 56c7ff6fa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/issues/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e\u003cimg src=\"https://img.shields.io/badge/0e34c64d0-fix-green\" alt=\"fix - 0e34c64d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/issues/33562\"\u003e#33562\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/31781a0246acacc7db7d8f77d502d2460e2cd832\"\u003e\u003cimg src=\"https://img.shields.io/badge/31781a024-fix-green\" alt=\"fix - 31781a024\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e allow setting readonly (\u003ca href=\"https://redirect.github.com/angular/components/issues/33364\"\u003e#33364\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.1.0-rc.0\u003c/h2\u003e\n\u003ch3\u003ematerial-luxon-adapter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\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/452d3cce3e2c651945e0f85c545a2e13b90b8add\"\u003e\u003cimg src=\"https://img.shields.io/badge/452d3cce3e-fix-green\" alt=\"fix - 452d3cce3e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/issues/33564\"\u003e#33564\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/3d21c1b9a2ba57dc1e5c5ff23e8ff63d50b607f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d21c1b9a2-fix-green\" alt=\"fix - 3d21c1b9a2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/issues/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9105a44b83062e1a2a896a98bc229f2fa050ba91\"\u003e\u003cimg src=\"https://img.shields.io/badge/9105a44b83-fix-green\" alt=\"fix - 9105a44b83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/a62e65971a379715b8bae2e437e67b62c113a263\"\u003e\u003cimg src=\"https://img.shields.io/badge/a62e65971a-fix-green\" alt=\"fix - a62e65971a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e\u003cimg src=\"https://img.shields.io/badge/56c7ff6fa3-fix-green\" alt=\"fix - 56c7ff6fa3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/issues/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ce6875ea7acbcf71c93cd19f3de525ceff29651c\"\u003e\u003cimg src=\"https://img.shields.io/badge/ce6875ea7a-fix-green\" alt=\"fix - ce6875ea7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33554\"\u003e#33554\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e\u003cimg src=\"https://img.shields.io/badge/0e34c64d0c-fix-green\" alt=\"fix - 0e34c64d0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/issues/33562\"\u003e#33562\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b211bf15f7090546b82957cb34d0d60409733fb1\"\u003e\u003cimg src=\"https://img.shields.io/badge/b211bf15f7-fix-green\" alt=\"fix - b211bf15f7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e account for disabled cell widgets and in-place disablement in roving tabindex (\u003ca href=\"https://redirect.github.com/angular/components/issues/33571\"\u003e#33571\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.1.0-next.4\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/d324696863cfc4ee7f4475499d7f0dbed8496d74\"\u003e\u003cimg src=\"https://img.shields.io/badge/d324696863-fix-green\" alt=\"fix - d324696863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e match focus indicator shape to FAB (\u003ca href=\"https://redirect.github.com/angular/components/issues/33527\"\u003e#33527\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9a247a8da23f2c9d5ed03c68d21659f814ae29c6\"\u003e\u003cimg src=\"https://img.shields.io/badge/9a247a8da2-fix-green\" alt=\"fix - 9a247a8da2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e use rounded shape for calendar focus indicators (\u003ca href=\"https://redirect.github.com/angular/components/issues/33524\"\u003e#33524\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/14d896a9366bca6df253af2aade8de4c09f98ba7\"\u003e\u003cimg src=\"https://img.shields.io/badge/14d896a936-fix-green\" alt=\"fix - 14d896a936\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e double focus indicators when strong focus is enabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33520\"\u003e#33520\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c729db79725e819d0ecd3e08cdd0cd876ddae755\"\u003e\u003cimg src=\"https://img.shields.io/badge/c729db7972-fix-green\" alt=\"fix - c729db7972\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e add border radius to header hover state in m2 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33529\"\u003e#33529\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.1.0 \u0026quot;v22-1-0\u0026quot; (2026-07-29)\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/31781a0246acacc7db7d8f77d502d2460e2cd832\"\u003e31781a024\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e allow setting readonly (\u003ca href=\"https://redirect.github.com/angular/components/pull/33364\"\u003e#33364\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/0e34c64d0cc96cd3cc8f19dea06f58a0ad4d8b59\"\u003e0e34c64d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e allow signal form to be assigned as stepControl (\u003ca href=\"https://redirect.github.com/angular/components/pull/33562\"\u003e#33562\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/73939a835b49f9603cc8026eb373dbef5e9cb96a\"\u003e73939a835\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e add full-width support (\u003ca href=\"https://redirect.github.com/angular/components/pull/33424\"\u003e#33424\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/56c7ff6fa3df13285e374bc4d280aa292287df58\"\u003e56c7ff6fa\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eslide-toggle:\u003c/strong\u003e prevent icon label text-spacing cutoff (\u003ca href=\"https://redirect.github.com/angular/components/pull/33559\"\u003e#33559\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/2430e6e53bb797129a3ed0ee4a024ed647785b17\"\u003e2430e6e53\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate to latest typings and fix error (\u003ca href=\"https://redirect.github.com/angular/components/pull/33387\"\u003e#33387\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.7 \u0026quot;v22-0-7\u0026quot; (2026-07-29)\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/e57188b33fe59a78398172016251b1c78bae75df\"\u003ee57188b33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e account for disabled cell widgets and in-place disablement in roving tabindex (\u003ca href=\"https://redirect.github.com/angular/components/pull/33571\"\u003e#33571\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/223c51543352dcfe1f85da733dde9b9179f55095\"\u003e223c51543\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eschematics:\u003c/strong\u003e resolve issues in navigation schematic (\u003ca href=\"https://redirect.github.com/angular/components/pull/33590\"\u003e#33590\u003c/a\u003e)\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/963383e25c90d8c3f6b4489eef7f242fe16cd957\"\u003e963383e25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid instanceof checks in aria directives (\u003ca href=\"https://redirect.github.com/angular/components/pull/33587\"\u003e#33587\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.6 \u0026quot;plaid-panda\u0026quot; (2026-07-22)\u003c/h1\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/d9fcaced4950ce6f3d7f759bbeab18134217dbce\"\u003ed9fcaced49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/pull/33554\"\u003e#33554\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/842bc940b8dd3f1e69c460e724921a5f4ababede\"\u003e842bc940b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/pull/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b5224c68f1ef1b996462a305d98387c564c36a83\"\u003eb5224c68f1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/pull/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/354f1ac17dc8365dacc61a02f3288dc73f676bb8\"\u003e354f1ac17d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/pull/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/7965866634db1a5f5d31ed2bc481c664e241c4c5\"\u003e\u003ccode\u003e7965866\u003c/code\u003e\u003c/a\u003e release: cut the v22.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/176142678f161f993cccf261287c3964bfc94552\"\u003e\u003ccode\u003e1761426\u003c/code\u003e\u003c/a\u003e docs: convert CDK overlay to signals (\u003ca href=\"https://redirect.github.com/angular/components/issues/33591\"\u003e#33591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/0d70daae47f6f879b6c4a537229befeea44c77aa\"\u003e\u003ccode\u003e0d70daa\u003c/code\u003e\u003c/a\u003e fix(material/schematics): resolve issues in navigation schematic (\u003ca href=\"https://redirect.github.com/angular/components/issues/33590\"\u003e#33590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d89d07aa0180004723e6ded4ede97110d1f273a2\"\u003e\u003ccode\u003ed89d07a\u003c/code\u003e\u003c/a\u003e refactor(cdk/clipboard): switch tests away from fakeAsync (\u003ca href=\"https://redirect.github.com/angular/components/issues/33585\"\u003e#33585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/ba02c5f79a68c05753188763ca3aba186e6bd5f6\"\u003e\u003ccode\u003eba02c5f\u003c/code\u003e\u003c/a\u003e fix(multiple): avoid instanceof checks in aria directives (\u003ca href=\"https://redirect.github.com/angular/components/issues/33587\"\u003e#33587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/9f782683365b876a2f1eb76f94941f44a59c7af8\"\u003e\u003ccode\u003e9f78268\u003c/code\u003e\u003c/a\u003e release: cut the v22.1.0-rc.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b211bf15f7090546b82957cb34d0d60409733fb1\"\u003e\u003ccode\u003eb211bf1\u003c/code\u003e\u003c/a\u003e fix(aria/grid): account for disabled cell widgets and in-place disablement in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/501d6744b377e1ef7d1cf7e86edcc0eedbf755e7\"\u003e\u003ccode\u003e501d674\u003c/code\u003e\u003c/a\u003e build: skip branch manager job on forked repositories (\u003ca href=\"https://redirect.github.com/angular/components/issues/33233\"\u003e#33233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/def30ba343456fdd7c43ab585748cb1c26ac44fe\"\u003e\u003ccode\u003edef30ba\u003c/code\u003e\u003c/a\u003e docs: release notes for the v22.0.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/659b5624366099931bfa8d125a3265ede8302ba2\"\u003e\u003ccode\u003e659b562\u003c/code\u003e\u003c/a\u003e build: update dependencies and account for breaking changes (\u003ca href=\"https://redirect.github.com/angular/components/issues/33565\"\u003e#33565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/20.2.14...v22.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 20.3.18 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/79a37f3d0b690a9e9cc893a10cef4ef4cdce4c3b\"\u003e\u003ccode\u003e79a37f3\u003c/code\u003e\u003c/a\u003e refactor(common): replaces the deprecated positional \u003ccode\u003esubscribe\u003c/code\u003e arguments wi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6dcb534e127d8b9971103596844ca1c0e736596b\"\u003e\u003ccode\u003e6dcb534\u003c/code\u003e\u003c/a\u003e refactor(common): remove duplicate helper function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003ccode\u003eec16a3d\u003c/code\u003e\u003c/a\u003e fix(http): enable xsrf for root-provided HttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003ccode\u003e39e362e\u003c/code\u003e\u003c/a\u003e fix(http): match header values exactly when deleting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003ccode\u003ebe46ca8\u003c/code\u003e\u003c/a\u003e fix(http): preserve immutability of materialized clones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d14696e4308c5cd95cf2184cae3582b52f7c7cf3\"\u003e\u003ccode\u003ed14696e\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3192dccaa3e1488f8bf351864ea48e44a21246aa\"\u003e\u003ccode\u003e3192dcc\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185\"\u003e\u003ccode\u003e359fb50\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6d043f86573e317f20039ccec031d6e63c01b656\"\u003e\u003ccode\u003e6d043f8\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c1829f6d7cc37aec73217a53da1e8314690c8c79\"\u003e\u003ccode\u003ec1829f6\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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 20.3.18 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642a...\n\n_Description has been truncated_","html_url":"https://github.com/eclipse-tractusx/tractusx-edc-dashboard/pull/100","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-tractusx%2Ftractusx-edc-dashboard/issues/100","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/100/packages"}},{"old_version":"22.0.6","new_version":"22.0.8","update_type":"patch","path":null,"pr_created_at":"2026-07-31T20:40:07.000Z","version_change":"22.0.6 → 22.0.8","issue":{"uuid":"5033213549","node_id":"PR_kwDOB0cSmM75MZ-t","number":12,"state":"closed","title":"chore(deps): bump the minor-and-patch group across 1 directory with 16 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-08-07T20:35:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-31T20:40:07.000Z","updated_at":"2026-08-07T20:35:45.000Z","time_to_close":604536,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":16,"packages":[{"name":"@angular/common","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular-eslint/builder","old_version":"22.0.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular-eslint/schematics","old_version":"22.0.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"@angular/cli","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/language-service","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@playwright/test","old_version":"1.61.1","new_version":"1.62.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"eslint","old_version":"10.7.0","new_version":"10.8.0","repository_url":"https://github.com/eslint/eslint"},{"name":"karma-jasmine-html-reporter","old_version":"2.1.0","new_version":"2.2.0","repository_url":"https://github.com/dfederm/karma-jasmine-html-reporter"},{"name":"angular-eslint","old_version":"22.0.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"typescript-eslint","old_version":"8.63.0","new_version":"8.65.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 16 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.6` | `22.0.8` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.6` | `22.0.8` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.6` | `22.0.8` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.6` | `22.0.8` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.6` | `22.0.8` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.6` | `22.0.8` |\n| [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder) | `22.0.0` | `22.1.0` |\n| [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics) | `22.0.0` | `22.1.0` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.6` | `22.0.8` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.6` | `22.0.8` |\n| [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `22.0.6` | `22.0.8` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.61.1` | `1.62.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.7.0` | `10.8.0` |\n| [karma-jasmine-html-reporter](https://github.com/dfederm/karma-jasmine-html-reporter) | `2.1.0` | `2.2.0` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `22.0.0` | `22.1.0` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.63.0` | `8.65.0` |\n\n\nUpdates `@angular/common` from 22.0.6 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003ccode\u003ec0368f2\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003ccode\u003e9d40f8a\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003ccode\u003e91e33aa\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/20b7dc3023df9ccde232cf9fef1d2b1d3ae68b23\"\u003e\u003ccode\u003e20b7dc3\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/3854174ec4a25e21abaef4ddd9d968a5b46fc832\"\u003e\u003ccode\u003e3854174\u003c/code\u003e\u003c/a\u003e refactor(compiler): enforce exhaustive defer trigger handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003ccode\u003ec89f71a\u003c/code\u003e\u003c/a\u003e fix(core): ignore processing instruction syntax in templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003ccode\u003e5b516e3\u003c/code\u003e\u003c/a\u003e fix(compiler): parsing of an empty template literal interpolation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003ccode\u003e388daea\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly migrate ngClass with mixed space-separated keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003ccode\u003e8616ba9\u003c/code\u003e\u003c/a\u003e fix(core): ensure SVG animation attributeName is checked case-insensitively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003ccode\u003ebb39cda\u003c/code\u003e\u003c/a\u003e fix(migrations): preserve NgClass import on partial migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/829d98e9ae08b12a2c4a624a64f87660d6dfde26\"\u003e\u003ccode\u003e829d98e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e881b962cc45ddc7d60da095bac496a7709f25cb\"\u003e\u003ccode\u003ee881b96\u003c/code\u003e\u003c/a\u003e refactor(core): move signal debug graph interfaces to primitives/devtools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1046fd9e56b607ddc3f22ffd86af7c3bddec40ce\"\u003e\u003ccode\u003e1046fd9\u003c/code\u003e\u003c/a\u003e refactor(core): remove deprecated \u003ccode\u003eunregisterTool\u003c/code\u003e from \u003ccode\u003eModelContext\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98\"\u003e\u003ccode\u003e5936ffb\u003c/code\u003e\u003c/a\u003e refactor(core): update WebMCP tool registration to be asynchronous\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c82ae67e3d866daea488c9cb312c45bbb19c7b33\"\u003e\u003ccode\u003ec82ae67\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): allow static attributes for explicit input transforms\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec9b4793e88828257cae38ac75b8e1c5392022ff\"\u003e\u003ccode\u003eec9b479\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003ccode\u003ed302c7a\u003c/code\u003e\u003c/a\u003e fix(forms):  ensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e14ead1093a40200bc1bd4162611dcb9862fc714\"\u003e\u003ccode\u003ee14ead1\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(forms): preserve intermediate number values in signal forms\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003ccode\u003e64d6d47\u003c/code\u003e\u003c/a\u003e fix(forms): preserve intermediate number values in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a6174d5900570ec0ce72683438bdbbc39158f96d\"\u003e\u003ccode\u003ea6174d5\u003c/code\u003e\u003c/a\u003e refactor(forms): warn when a text input receives a null value in Signal Forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98\"\u003e\u003ccode\u003e5936ffb\u003c/code\u003e\u003c/a\u003e refactor(core): update WebMCP tool registration to be asynchronous\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5d06fcb1092d121a8990ef7934bfba0b599ff6f2\"\u003e\u003ccode\u003e5d06fcb\u003c/code\u003e\u003c/a\u003e test(forms): register writeback test control as CVA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003ccode\u003e6cf7446\u003c/code\u003e\u003c/a\u003e fix(forms): prevent stale CVA writeback during debounce\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003ccode\u003e1b99646\u003c/code\u003e\u003c/a\u003e fix(forms): allow multiple async validators\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.7 (2026-07-15)\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e91e33aa1de\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e5b516e3a58\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003ec88ddde1c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e94d9591b51\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003ec89f71a74c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e70500e4067\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e1b9964675f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e64d6d47a0c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\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/b34bf0dce855bca3c6dfcf7e19d38b3b39288a16\"\u003e\u003ccode\u003eb34bf0d\u003c/code\u003e\u003c/a\u003e fix(platform-browser): prevent ReDoS in SOURCEMAP_URL_REGEXP\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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 22.0.6 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n...\n\n_Description has been truncated_","html_url":"https://github.com/ahasan09/followers-app/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahasan09%2Ffollowers-app/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"22.0.6","new_version":"22.0.8","update_type":"patch","path":null,"pr_created_at":"2026-07-31T16:31:18.000Z","version_change":"22.0.6 → 22.0.8","issue":{"uuid":"5031506096","node_id":"PR_kwDOTa-Mvs75G3YE","number":12,"state":"closed","title":"chore(deps): bump the javascript-dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-08-07T16:14:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-31T16:31:18.000Z","updated_at":"2026-08-07T16:14:52.000Z","time_to_close":603812,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"javascript-dependencies","update_count":33,"packages":[{"name":"firebase-admin","old_version":"13.10.0","new_version":"14.2.0","repository_url":"https://github.com/firebase/firebase-admin-node"},{"name":"markdownlint-cli2","old_version":"0.20.0","new_version":"0.23.2","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"prettier","old_version":"3.9.5","new_version":"3.9.6","repository_url":"https://github.com/prettier/prettier"},{"name":"turbo","old_version":"2.10.5","new_version":"2.10.7","repository_url":"https://github.com/vercel/turborepo"},{"name":"@nestjs/swagger","old_version":"11.4.5","new_version":"11.4.6","repository_url":"https://github.com/nestjs/swagger"},{"name":"@prisma/adapter-pg","old_version":"7.8.0","new_version":"7.9.1","repository_url":"https://github.com/prisma/prisma"},{"name":"@prisma/client","old_version":"7.8.0","new_version":"7.9.1","repository_url":"https://github.com/prisma/prisma"},{"name":"argon2","old_version":"0.44.0","new_version":"0.45.1","repository_url":"https://github.com/ranisalt/node-argon2"},{"name":"@eslint/js","old_version":"9.39.5","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@types/node","old_version":"24.10.13","new_version":"26.1.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/pg","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/supertest","old_version":"7.2.0","new_version":"7.2.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint","old_version":"9.39.2","new_version":"10.8.0","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.3.0","new_version":"17.8.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"prisma","old_version":"7.8.0","new_version":"7.9.1","repository_url":"https://github.com/prisma/prisma"},{"name":"ts-jest","old_version":"29.4.11","new_version":"29.4.12","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"tsx","old_version":"4.21.0","new_version":"4.23.1","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.64.0","new_version":"8.65.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@angular/cdk","old_version":"22.0.5","new_version":"22.0.6","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"22.0.5","new_version":"22.0.6","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@lucide/angular","old_version":"1.25.0","new_version":"1.27.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"@angular/build","old_version":"22.0.7","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.7","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.6","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"jsdom","old_version":"28.1.0","new_version":"30.0.0","repository_url":"https://github.com/jsdom/jsdom"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the javascript-dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [firebase-admin](https://github.com/firebase/firebase-admin-node) | `13.10.0` | `14.2.0` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.20.0` | `0.23.2` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.5` | `3.9.6` |\n| [turbo](https://github.com/vercel/turborepo) | `2.10.5` | `2.10.7` |\n| [@nestjs/swagger](https://github.com/nestjs/swagger) | `11.4.5` | `11.4.6` |\n| [@prisma/adapter-pg](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg) | `7.8.0` | `7.9.1` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.8.0` | `7.9.1` |\n| [argon2](https://github.com/ranisalt/node-argon2) | `0.44.0` | `0.45.1` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.5` | `10.0.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.10.13` | `26.1.2` |\n| [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) | `8.18.0` | `8.20.0` |\n| [@types/supertest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/supertest) | `7.2.0` | `7.2.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.8.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.8.0` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.8.0` | `7.9.1` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.11` | `29.4.12` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.23.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.64.0` | `8.65.0` |\n| [@angular/cdk](https://github.com/angular/components) | `22.0.5` | `22.0.6` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.6` | `22.0.8` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.6` | `22.0.8` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.6` | `22.0.8` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.6` | `22.0.8` |\n| [@angular/material](https://github.com/angular/components) | `22.0.5` | `22.0.6` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.6` | `22.0.8` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.6` | `22.0.8` |\n| [@lucide/angular](https://github.com/lucide-icons/lucide/tree/HEAD/packages/angular) | `1.25.0` | `1.27.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.7` | `22.0.8` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.7` | `22.0.8` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.6` | `22.0.8` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `30.0.0` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n\n\nUpdates `firebase-admin` from 13.10.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/firebase/firebase-admin-node/releases\"\u003efirebase-admin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.2.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(functions): Implement TaskQueue Scopes (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(dataconnect): Refactor CRUD helpers to use GraphQL variables and \u003ccode\u003e@allow\u003c/code\u003e directive (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3182\"\u003e#3182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 14.2.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3213\"\u003e#3213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump websocket-driver from 0.7.4 to 0.7.5 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 26.0.0 to 26.1.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump nock from 14.0.15 to 14.0.16 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix zizmor findings (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSecurity Audit \u0026amp; Remediation: GitHub Actions (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3192\"\u003e#3192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSecurity audit: remove unused dependencies and remediate dev vulnerabilities (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3191\"\u003e#3191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump mocha from 11.7.5 to 11.7.6 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e from 8.5.1 to 8.5.9 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3195\"\u003e#3195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint from 10.4.1 to 10.5.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump google-auth-library from 10.7.0 to 10.9.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3198\"\u003e#3198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.1.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(fcm): Enable \u003ccode\u003efid\u003c/code\u003e and deprecate \u003ccode\u003etoken\u003c/code\u003e for Send API (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(dataconnect): fix deserialization of emulator gRPC error codes into detailed errors (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3180\"\u003e#3180\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 14.1.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3193\"\u003e#3193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump typescript-eslint packages to 8.62.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.7.0 to 26.0.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3184\"\u003e#3184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​firebase/auth-compat\u003c/code\u003e from 0.6.6 to 0.6.8 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3187\"\u003e#3187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​microsoft/api-extractor\u003c/code\u003e from 7.58.1 to 7.58.9 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​firebase/app-compat\u003c/code\u003e from 0.5.12 to 0.5.13 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump shell-quote from 1.8.3 to 1.8.4 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3173\"\u003e#3173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump \u003ccode\u003e@​google-cloud/storage\u003c/code\u003e from 7.19.0 to 7.21.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump google-auth-library from 10.6.2 to 10.7.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3176\"\u003e#3176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump nyc from 17.1.0 to 18.0.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3177\"\u003e#3177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump \u003ccode\u003e@​grpc/grpc-js\u003c/code\u003e from 1.14.3 to 1.14.4 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\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/firebase/firebase-admin-node/commit/7343f166ec71c2efee5fe0554c2fb96203faf2a5\"\u003e\u003ccode\u003e7343f16\u003c/code\u003e\u003c/a\u003e [chore] Release 14.2.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3213\"\u003e#3213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/07fa1b16bdd4e726774e4f4b4ee6f0517d5f52f9\"\u003e\u003ccode\u003e07fa1b1\u003c/code\u003e\u003c/a\u003e build(deps): bump websocket-driver from 0.7.4 to 0.7.5 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/4681c28a4b0638323a139194069fbef6c9138ec7\"\u003e\u003ccode\u003e4681c28\u003c/code\u003e\u003c/a\u003e feat(functions): Implement TaskQueue Scopes (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/1dae1f90a3891db2c5ca5476b2baea246b7499e4\"\u003e\u003ccode\u003e1dae1f9\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 26.0.0 to 26.1.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/bcae57ae8b919cfa630f190d9de28f91066a6c0d\"\u003e\u003ccode\u003ebcae57a\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump nock from 14.0.15 to 14.0.16 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/b231b7562aae1905a19dc7943c2a70cfd3c0b995\"\u003e\u003ccode\u003eb231b75\u003c/code\u003e\u003c/a\u003e fix zizmor findings (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/ee319691e81ed31ab0701f0fc8fac886e735c2fe\"\u003e\u003ccode\u003eee31969\u003c/code\u003e\u003c/a\u003e fix(dataconnect): Refactor CRUD helpers to use GraphQL variables and \u003ca href=\"https://github.com/allow\"\u003e\u003ccode\u003e@​allow\u003c/code\u003e\u003c/a\u003e d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/c550a22e65cac25be48314cf17512b812b9212eb\"\u003e\u003ccode\u003ec550a22\u003c/code\u003e\u003c/a\u003e Security Audit \u0026amp; Remediation: GitHub Actions (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3192\"\u003e#3192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/ad97c0ca4e93e7b54436b335f915d3b24b8442dc\"\u003e\u003ccode\u003ead97c0c\u003c/code\u003e\u003c/a\u003e Security audit: remove unused dependencies and remediate dev vulnerabilities ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/0cb9f79da4a40be96b86b71b8153c556933f0f14\"\u003e\u003ccode\u003e0cb9f79\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump mocha from 11.7.5 to 11.7.6 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/firebase/firebase-admin-node/compare/v13.10.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdownlint-cli2` from 0.20.0 to 0.23.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md\"\u003emarkdownlint-cli2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.23.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow attempted fix counts after fixing\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (including \u003ccode\u003emarkdownlint\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoverrides\u003c/code\u003e configuration option\u003c/li\u003e\n\u003cli\u003eImprove options/configuration file handling\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (including \u003ccode\u003emarkdownlint\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove support for end-of-life Node 20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.22.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.22.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--config\u003c/code\u003e parameter more flexible\u003c/li\u003e\n\u003cli\u003eSupport TOML with \u003ccode\u003e--config\u003c/code\u003e parameter\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--configPointer\u003c/code\u003e parameter\u003c/li\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor options/configuration file loading\u003c/li\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/b82a6c8896e491b9cb377a99ff3412131920681b\"\u003e\u003ccode\u003eb82a6c8\u003c/code\u003e\u003c/a\u003e Update to version 0.23.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/e4e659ddc65ccef0d59fc70290477d9d04481403\"\u003e\u003ccode\u003ee4e659d\u003c/code\u003e\u003c/a\u003e Add a stub for process.nextTick (using queueMicrotask) now that globby (indir...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/99760afd885666f229cabbed903c65e847aec32e\"\u003e\u003ccode\u003e99760af\u003c/code\u003e\u003c/a\u003e Bump globby from 16.2.1 to 16.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/30702364304667328c694c05ec00ec84abf9b928\"\u003e\u003ccode\u003e3070236\u003c/code\u003e\u003c/a\u003e Address new ESLint warnings from previous commit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/6e3cc93af9c535fb895159223bc8894fcfe3b926\"\u003e\u003ccode\u003e6e3cc93\u003c/code\u003e\u003c/a\u003e Bump eslint-plugin-unicorn from 71.1.0 to 72.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/4ba8177fa71cf21aaeaf937c88bc7f73b0c812fc\"\u003e\u003ccode\u003e4ba8177\u003c/code\u003e\u003c/a\u003e Add eslint-package-json/all to lint script, address new issues.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/9cb99b2c99be6cf17c66eba95967841a0899e961\"\u003e\u003ccode\u003e9cb99b2\u003c/code\u003e\u003c/a\u003e Refactor eslint.config.mjs to use defineConfig, change eslint-plugin-n from \u0026quot;...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/37fb0ecbbca44bf01e5dfef6f783bf402796ca3e\"\u003e\u003ccode\u003e37fb0ec\u003c/code\u003e\u003c/a\u003e Address new ESLint warnings from previous commit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/f7fea61958ed20abe581ad8fa1a53fcb39e36f1c\"\u003e\u003ccode\u003ef7fea61\u003c/code\u003e\u003c/a\u003e Bump eslint-node-test from 0.2.0 to 0.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/85bb5e7f0038fa31520fdea2a0ee3516da81fb2e\"\u003e\u003ccode\u003e85bb5e7\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 5.2.1 to 5.2.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/compare/v0.20.0...v0.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.5 to 3.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003eprettier/prettier#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport defer\u003c/code\u003e in \u003ccode\u003etypescript\u003c/code\u003e parser (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003eprettier/prettier#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003eprettier/prettier#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a new official plugin \u003ca href=\"https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku\"\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e 🚀\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003eprettier/prettier#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003eprettier/prettier#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396\"\u003eChangelog\u003c/a\u003e\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/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.6\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.5...3.9.6\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eTypeScript: Preserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003e#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003e// Input\ninterface Container {\n  \u0026quot;new\u0026quot;(id: string): number;\n}\n\u003cp\u003e// Prettier 3.9.5\u003cbr /\u003e\ninterface Container {\u003cbr /\u003e\nnew(id: string): number;\u003cbr /\u003e\n}\u003c/p\u003e\n\u003cp\u003e// Prettier 3.9.6\u003cbr /\u003e\ninterface Container {\u003cbr /\u003e\n\u0026quot;new\u0026quot;(id: string): number;\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eTypeScript: Support \u003ccode\u003eimport defer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003e#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003e#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003e// Input\nimport defer * as foo from \u0026quot;foo\u0026quot;;\n\u003cp\u003e// Prettier 3.9.5\u003cbr /\u003e\nimport * as foo from \u0026quot;foo\u0026quot;;\u003c/p\u003e\n\u003cp\u003e// Prettier 3.9.6\u003cbr /\u003e\nimport defer * as foo from \u0026quot;foo\u0026quot;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eJavaScript: Added a new official plugin \u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003e#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003e#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e is powered by \u003ca href=\"https://yuku.fyi/\"\u003eYuku\u003c/a\u003e (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).\u003c/p\u003e\n\u003cp\u003eThis plugin includes two new parsers: \u003ccode\u003eyuku\u003c/code\u003e (JavaScript syntax) and \u003ccode\u003eyuku-ts\u003c/code\u003e (TypeScript syntax).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eTo use this plugin:\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eInstall the plugin:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eyarn add --dev prettier @prettier/plugin-yuku\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- 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/prettier/prettier/commit/8f0c95057cc91d5836409466cd9d9af3bb901e84\"\u003e\u003ccode\u003e8f0c950\u003c/code\u003e\u003c/a\u003e Release 3.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/e9107647d0497d8ff1cacbb0f970d4543df77c1c\"\u003e\u003ccode\u003ee910764\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/ec3f1c7bd74495992bc6954323a1a7fc8368808e\"\u003e\u003ccode\u003eec3f1c7\u003c/code\u003e\u003c/a\u003e Update typescript-eslint to v8.65.0 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/73d2efc2c6cba6f579585c88ef171132d90834ec\"\u003e\u003ccode\u003e73d2efc\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.7.0 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19664\"\u003e#19664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dd5e24eabeab1f75ad573c79781e5fd408bcfad3\"\u003e\u003ccode\u003edd5e24e\u003c/code\u003e\u003c/a\u003e Preserve quotes for \u003ccode\u003eTSMethodSignature\u003c/code\u003e nodes named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19621\"\u003e#19621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/c03ab4e71c23154d6b11537eee3c938f0d0f67d3\"\u003e\u003ccode\u003ec03ab4e\u003c/code\u003e\u003c/a\u003e Update dependency eslint-plugin-unicorn to v72 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19633\"\u003e#19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b74dd53076c7208291a6b2e585c310844b41d35f\"\u003e\u003ccode\u003eb74dd53\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.6.5 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19654\"\u003e#19654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f1b594ea1db1520c383d0e281d623551f671f824\"\u003e\u003ccode\u003ef1b594e\u003c/code\u003e\u003c/a\u003e Update dependency eslint-plugin-simple-import-sort to v14 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19655\"\u003e#19655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/0d9dfb61530986373000dd107ea58ceebb79e233\"\u003e\u003ccode\u003e0d9dfb6\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.6.4 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19650\"\u003e#19650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/3bbb8159eb55575d4042653aa99f5f92a1416c19\"\u003e\u003ccode\u003e3bbb815\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003etypescript-only\u003c/code\u003e directory (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19636\"\u003e#19636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.9.5...3.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.10.5 to 2.10.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.10.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.10.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13431\"\u003evercel/turborepo#13431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Refine bug report template help section by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13433\"\u003evercel/turborepo#13433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Verify version after attempting codemod upgrade by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13446\"\u003evercel/turborepo#13446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Characterize JavaScript package discovery by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13440\"\u003evercel/turborepo#13440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Separate package graph node assembly by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13441\"\u003evercel/turborepo#13441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Upgrade \u003ccode\u003e@​vercel/connect\u003c/code\u003e by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13450\"\u003evercel/turborepo#13450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Add authoritative package knowledge by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13442\"\u003evercel/turborepo#13442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Select runnable task entrypoints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13452\"\u003evercel/turborepo#13452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Add workspace root contribution contract by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13447\"\u003evercel/turborepo#13447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use package knowledge for scope selection by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13443\"\u003evercel/turborepo#13443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent mobile homepage overflow by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13453\"\u003evercel/turborepo#13453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Document service readiness probes by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13472\"\u003evercel/turborepo#13472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm root dependencies during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13476\"\u003evercel/turborepo#13476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm aliased dependencies during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13477\"\u003evercel/turborepo#13477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.10.7-canary.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13478\"\u003evercel/turborepo#13478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Add Terminal UI sanity tests by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13475\"\u003evercel/turborepo#13475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Upgrade Next.js by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13482\"\u003evercel/turborepo#13482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Upgrade brace-expansion by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13483\"\u003evercel/turborepo#13483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Support multiple macOS file watch roots by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13484\"\u003evercel/turborepo#13484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.10.6...v2.10.7\"\u003ehttps://github.com/vercel/turborepo/compare/v2.10.6...v2.10.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.10.7-canary.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.10.6-canary.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13424\"\u003evercel/turborepo#13424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Upgrade brace-expansion by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13429\"\u003evercel/turborepo#13429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update tar to 7.5.18 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13428\"\u003evercel/turborepo#13428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Upgrade js-yaml by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13427\"\u003evercel/turborepo#13427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Match JIT inputs for affected tasks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13426\"\u003evercel/turborepo#13426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve project Yarn package extensions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13425\"\u003evercel/turborepo#13425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.10.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13431\"\u003evercel/turborepo#13431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Refine bug report template help section by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13433\"\u003evercel/turborepo#13433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Verify version after attempting codemod upgrade by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13446\"\u003evercel/turborepo#13446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Characterize JavaScript package discovery by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13440\"\u003evercel/turborepo#13440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Separate package graph node assembly by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13441\"\u003evercel/turborepo#13441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Upgrade \u003ccode\u003e@​vercel/connect\u003c/code\u003e by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13450\"\u003evercel/turborepo#13450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Add authoritative package knowledge by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13442\"\u003evercel/turborepo#13442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Select runnable task entrypoints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13452\"\u003evercel/turborepo#13452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Add workspace root contribution contract by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13447\"\u003evercel/turborepo#13447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Use package knowledge for scope selection by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13443\"\u003evercel/turborepo#13443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent mobile homepage overflow by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13453\"\u003evercel/turborepo#13453\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/be76f17100093bd5275fad4c0e2d76ad15e88d70\"\u003e\u003ccode\u003ebe76f17\u003c/code\u003e\u003c/a\u003e publish 2.10.7 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2f8a96293bdbd067fc9b1c5bc3d1b7f719f48cb9\"\u003e\u003ccode\u003e2f8a962\u003c/code\u003e\u003c/a\u003e fix: Support multiple macOS file watch roots (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13484\"\u003e#13484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/549fc991af510d16ff3fc12dcf47b0725ca66ac9\"\u003e\u003ccode\u003e549fc99\u003c/code\u003e\u003c/a\u003e chore: Upgrade brace-expansion (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13483\"\u003e#13483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/0a329d616ec88a51ab63f975e86c35a806335b87\"\u003e\u003ccode\u003e0a329d6\u003c/code\u003e\u003c/a\u003e chore: Upgrade Next.js (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13482\"\u003e#13482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/07ebd1d0426336a0fad6e3f1199eabef883a6308\"\u003e\u003ccode\u003e07ebd1d\u003c/code\u003e\u003c/a\u003e test: Add Terminal UI sanity tests (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13475\"\u003e#13475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2a02c34d10a5155febdfaafa692fac74a55f4c46\"\u003e\u003ccode\u003e2a02c34\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.10.7-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13478\"\u003e#13478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/96dc00c672ff45c475504c46cbeac7502b00b02f\"\u003e\u003ccode\u003e96dc00c\u003c/code\u003e\u003c/a\u003e fix: Preserve pnpm aliased dependencies during prune (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13477\"\u003e#13477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/0746adc7485499ce3d328087af64c22a9376db24\"\u003e\u003ccode\u003e0746adc\u003c/code\u003e\u003c/a\u003e fix: Preserve pnpm root dependencies during prune (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13476\"\u003e#13476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/f925b442bd93cbe231fd4278851aefe4c68cc123\"\u003e\u003ccode\u003ef925b44\u003c/code\u003e\u003c/a\u003e docs: Document service readiness probes (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13472\"\u003e#13472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/4778467eebe4801a950f6548d46320f4e7a41dab\"\u003e\u003ccode\u003e4778467\u003c/code\u003e\u003c/a\u003e fix: Prevent mobile homepage overflow (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/13453\"\u003e#13453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.10.5...v2.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/swagger` from 11.4.5 to 11.4.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/swagger/releases\"\u003e@​nestjs/swagger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 11.4.6\u003c/h2\u003e\n\u003ch2\u003e11.4.6 (2026-07-17)\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3964\"\u003e#3964\u003c/a\u003e feat(plugin): infer ApiParam enum from \u003ca href=\"https://github.com/Param\"\u003e\u003ccode\u003e@​Param\u003c/code\u003e\u003c/a\u003e literal-union types (\u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3947\"\u003e#3947\u003c/a\u003e fix(type-helpers): preserve array-ness for nested DTO arrays in DeepPartialType (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3945\"\u003e#3945\u003c/a\u003e fix(mimetype-content-wrapper): clone object per mimetype to avoid shared references (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3972\"\u003e#3972\u003c/a\u003e fix: avoid inline PickType schema collisions (\u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3969\"\u003e#3969\u003c/a\u003e fix: Added missing summary type to the response object (\u003ca href=\"https://github.com/MichielDeMey\"\u003e\u003ccode\u003e@​MichielDeMey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3949\"\u003e#3949\u003c/a\u003e feat(api-query): support custom OpenAPI extensions (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3986\"\u003e#3986\u003c/a\u003e fix(deps): update dependency js-yaml to v5 (\u003ca href=\"https://github.com/apps/renovate\"\u003e\u003ccode\u003e@​renovate[bot]\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 4\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eMichiel De Mey (\u003ca href=\"https://github.com/MichielDeMey\"\u003e\u003ccode\u003e@​MichielDeMey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRayan Salhab (\u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYogeshwaran C (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYukihiro Hasegawa (\u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/aec1a2236c07a012500a30662443515c5c40185f\"\u003e\u003ccode\u003eaec1a22\u003c/code\u003e\u003c/a\u003e chore(): release v11.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/f9eec4f9a8e0ed43213577738f03edd89f1614e7\"\u003e\u003ccode\u003ef9eec4f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3986\"\u003e#3986\u003c/a\u003e from nestjs/renovate/js-yaml-5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/b6b6eafca5a13e4e827f68b961bb234dee46591a\"\u003e\u003ccode\u003eb6b6eaf\u003c/code\u003e\u003c/a\u003e chore(deps): support fastify/static v10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/e8912463d55aab2e069d5fea4e7934954e8d7130\"\u003e\u003ccode\u003ee891246\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3949\"\u003e#3949\u003c/a\u003e from yogeshwaran-c/feat/api-query-extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/c8608cfb532e7a7df727a1cf4e57735366d8d92e\"\u003e\u003ccode\u003ec8608cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3947\"\u003e#3947\u003c/a\u003e from yogeshwaran-c/fix/deep-partial-type-array-of-dto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/1f55cc15ae3965e19e9415f688dc0ede3694c641\"\u003e\u003ccode\u003e1f55cc1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3946\"\u003e#3946\u003c/a\u003e from yogeshwaran-c/fix/swagger-html-dollar-substitution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/76b72028200b5f077de7d19f7f87a25e99d3b7ee\"\u003e\u003ccode\u003e76b7202\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4013\"\u003e#4013\u003c/a\u003e from nestjs/renovate/fastify-compress-9.x-lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/f60c7382b6a436504f5fe891a15df7c0b889e8b5\"\u003e\u003ccode\u003ef60c738\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4012\"\u003e#4012\u003c/a\u003e from nestjs/renovate/vite-8.x-lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/e8e0eabad47ccb52ae70c92ffae5dcef9598f656\"\u003e\u003ccode\u003ee8e0eab\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency js-yaml to v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/880a39e812e404f4033afad85eef79732e715553\"\u003e\u003ccode\u003e880a39e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​fastify/compress\u003c/code\u003e to v9.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/swagger/compare/11.4.5...11.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/adapter-pg` from 7.8.0 to 7.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/adapter-pg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.9.1\u003c/h2\u003e\n\u003cp\u003eToday, we're issuing a patch release to resolve a security advisory in a transitive dependency of Prisma CLI (via \u003ccode\u003e@prisma/dev\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eThis fixes \u003ca href=\"https://redirect.github.com/prisma/prisma/issues/29780\"\u003eprisma/prisma#29780\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIt does not actually affect \u003ccode\u003e@prisma/dev\u003c/code\u003e or Prisma CLI so no urgent action is required, but it is recommended to upgrade nevertheless to avoid false positives from security scanners.\u003c/p\u003e\n\u003ch2\u003e7.9.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.9.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eTab completions for the Prisma CLI\u003c/h3\u003e\n\u003cp\u003eTyping out CLI commands from memory is now optional. Prisma ships \u003cstrong\u003eshell tab completions\u003c/strong\u003e for \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003ezsh\u003c/code\u003e, \u003ccode\u003efish\u003c/code\u003e, and PowerShell, covering commands, subcommands, options, flags, and even option values.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSetting it up.\u003c/strong\u003e Most projects run Prisma through a package manager, so completions are enabled through \u003ccode\u003e@bomb.sh/tab\u003c/code\u003e's package-manager integration — install it once, then source the completion for your package manager and shell:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# 1. Install @bomb.sh/tab globally\r\nnpm install -g @bomb.sh/tab\r\n\u003ch1\u003e2. Wire up your package manager + shell (pnpm shown; swap in npm / yarn / bun):\u003c/h1\u003e\n\u003cp\u003eecho 'source \u0026lt;(tab pnpm zsh)'  \u0026gt;\u0026gt; ~/.zshrc            # zsh\u003cbr /\u003e\necho 'source \u0026lt;(tab pnpm bash)' \u0026gt;\u0026gt; ~/.bashrc           # bash\u003cbr /\u003e\ntab pnpm fish \u0026gt; ~/.config/fish/completions/pnpm.fish  # fish\u003cbr /\u003e\ntab pnpm powershell \u0026gt; ~/.tab-pnpm.ps1                 # PowerShell (then dot-source it from $PROFILE)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e delegates to any locally-installed CLI that ships completions, so \u003ccode\u003epnpm prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003epnpm exec prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003eyarn prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, and \u003ccode\u003ebun x prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e all complete Prisma's commands, options, and values — no per-project setup. (\u003ccode\u003enpx\u003c/code\u003e and \u003ccode\u003ebunx\u003c/code\u003e don't support completion themselves; use \u003ccode\u003enpm exec\u003c/code\u003e and \u003ccode\u003ebun x\u003c/code\u003e.)\u003c/p\u003e\n\u003cp\u003eIf instead you have Prisma installed globally on your \u003ccode\u003ePATH\u003c/code\u003e, source its own completion directly: \u003ccode\u003esource \u0026lt;(prisma complete zsh)\u003c/code\u003e (or the \u003ccode\u003ebash\u003c/code\u003e / \u003ccode\u003efish\u003c/code\u003e / \u003ccode\u003epowershell\u003c/code\u003e variant).\u003c/p\u003e\n\u003cp\u003eThis is built on \u003ca href=\"https://github.com/bombshell-dev/tab/\"\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e\u003c/a\u003e, the same completion library that powers other CLIs in the ecosystem — including Cloudflare, Nuxt, and Vitest — so the package-manager completions you enable for Prisma work for those tools too. A wonderful community contribution from \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/28351\"\u003e#28351\u003c/a\u003e) — thank you!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\"\u003ehttps://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003ePrisma ORM, ready for AI agents\u003c/h3\u003e\n\u003cp\u003eCoding agents are now a first-class audience for Prisma, and 7.9.0 brings the first wave of work to make Prisma projects safe and productive for them to work in.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills installed with \u003ccode\u003eprisma init\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29689\"\u003e#29689\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprisma init\u003c/code\u003e now installs the \u003ca href=\"https://github.com/prisma/skills\"\u003eprisma/skills\u003c/a\u003e catalog into freshly scaffolded projects. Agents such as Claude Code, Cursor, Codex, and Windsurf start out with current, version-relevant Prisma knowledge instead of relying on whatever happened to be in their training data. The install is best-effort and never blocks scaffolding; opt out at any time with \u003ccode\u003e--no-skills\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/prisma/prisma/commit/35003fd86c574741cb5d93a57b773ee33015a79c\"\u003e\u003ccode\u003e35003fd\u003c/code\u003e\u003c/a\u003e chore(adapter-pg): remove duplicate values parameter (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29650\"\u003e#29650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/d6d9fc9ed341946d45c7d0aba35081a7bd741aa1\"\u003e\u003ccode\u003ed6d9fc9\u003c/code\u003e\u003c/a\u003e chore: remove parameterization from sqlcommenter-query-insights (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29518\"\u003e#29518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.9.1/packages/adapter-pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 7.8.0 to 7.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.9.1\u003c/h2\u003e\n\u003cp\u003eToday, we're issuing a patch release to resolve a security advisory in a transitive dependency of Prisma CLI (via \u003ccode\u003e@prisma/dev\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eThis fixes \u003ca href=\"https://redirect.github.com/prisma/prisma/issues/29780\"\u003eprisma/prisma#29780\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIt does not actually affect \u003ccode\u003e@prisma/dev\u003c/code\u003e or Prisma CLI so no urgent action is required, but it is recommended to upgrade nevertheless to avoid false positives from security scanners.\u003c/p\u003e\n\u003ch2\u003e7.9.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.9.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eTab completions for the Prisma CLI\u003c/h3\u003e\n\u003cp\u003eTyping out CLI commands from memory is now optional. Prisma ships \u003cstrong\u003eshell tab completions\u003c/strong\u003e for \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003ezsh\u003c/code\u003e, \u003ccode\u003efish\u003c/code\u003e, and PowerShell, covering commands, subcommands, options, flags, and even option values.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSetting it up.\u003c/strong\u003e Most projects run Prisma through a package manager, so completions are enabled through \u003ccode\u003e@bomb.sh/tab\u003c/code\u003e's package-manager integration — install it once, then source the completion for your package manager and shell:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# 1. Install @bomb.sh/tab globally\r\nnpm install -g @bomb.sh/tab\r\n\u003ch1\u003e2. Wire up your package manager + shell (pnpm shown; swap in npm / yarn / bun):\u003c/h1\u003e\n\u003cp\u003eecho 'source \u0026lt;(tab pnpm zsh)'  \u0026gt;\u0026gt; ~/.zshrc            # zsh\u003cbr /\u003e\necho 'source \u0026lt;(tab pnpm bash)' \u0026gt;\u0026gt; ~/.bashrc           # bash\u003cbr /\u003e\ntab pnpm fish \u0026gt; ~/.config/fish/completions/pnpm.fish  # fish\u003cbr /\u003e\ntab pnpm powershell \u0026gt; ~/.tab-pnpm.ps1                 # PowerShell (then dot-source it from $PROFILE)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e delegates to any locally-installed CLI that ships completions, so \u003ccode\u003epnpm prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003epnpm exec prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003eyarn prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, and \u003ccode\u003ebun x prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e all complete Prisma's commands, options, and values — no per-project setup. (\u003ccode\u003enpx\u003c/code\u003e and \u003ccode\u003ebunx\u003c/code\u003e don't support completion themselves; use \u003ccode\u003enpm exec\u003c/code\u003e and \u003ccode\u003ebun x\u003c/code\u003e.)\u003c/p\u003e\n\u003cp\u003eIf instead you have Prisma installed globally on your \u003ccode\u003ePATH\u003c/code\u003e, source its own completion directly: \u003ccode\u003esource \u0026lt;(prisma complete zsh)\u003c/code\u003e (or the \u003ccode\u003ebash\u003c/code\u003e / \u003ccode\u003efish\u003c/code\u003e / \u003ccode\u003epowershell\u003c/code\u003e variant).\u003c/p\u003e\n\u003cp\u003eThis is built on \u003ca href=\"https://github.com/bombshell-dev/tab/\"\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e\u003c/a\u003e, the same completion library that powers other CLIs in the ecosystem — including Cloudflare, Nuxt, and Vitest — so the package-manager completions you enable for Prisma work for those tools too. A wonderful community contribution from \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/28351\"\u003e#28351\u003c/a\u003e) — thank you!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\"\u003ehttps://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003ePrisma ORM, ready for AI agents\u003c/h3\u003e\n\u003cp\u003eCoding agents are now a first-class audience for Prisma, and 7.9.0 brings the first wave of work to make Prisma projects safe and productive for them to work in.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills installed with \u003ccode\u003eprisma init\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29689\"\u003e#29689\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprisma init\u003c/code\u003e now installs the \u003ca href=\"https://github.com/prisma/skills\"\u003eprisma/skills\u003c/a\u003e catalog into freshly scaffolded projects. Agents such as Claude Code, Cursor, Codex, and Windsurf start out with current, version-relevant Prisma knowledge instead of relying on whatever happened to be in their training data. The install is best-effort and never blocks scaffolding; opt out at any time with \u003ccode\u003e--no-skills\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\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/prisma/prisma/commit/b82985029d44349849dfbb4990bb19278178ee61\"\u003e\u003ccode\u003eb829850\u003c/code\u003e\u003c/a\u003e ci: upgrade pnpm to 11 to restore pnpm audit (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29725\"\u003e#29725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/280fd56f28c53f42fb2dfbc190c3d35d046e19fa\"\u003e\u003ccode\u003e280fd56\u003c/code\u003e\u003c/a\u003e fix(client): mask each quoted string in maskQuery independently (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29723\"\u003e#29723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/4da377494cc27bc0784d3629df21e94989abd153\"\u003e\u003ccode\u003e4da3774\u003c/code\u003e\u003c/a\u003e fix(client): reject invalid raw dates (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29697\"\u003e#29697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/a7cec97b204e734cf30049ee7a39c9b61da085de\"\u003e\u003ccode\u003ea7cec97\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/58f8439d020d70bf7cc9a77cca62dfc95d9ddc0f\"\u003e\u003ccode\u003e58f8439\u003c/code\u003e\u003c/a\u003e fix(client): pin pg-protocol in prisma-client-imports-postgres e2e test (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29687\"\u003e#29687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/918cf5d72c1ba85ed0bb85c50c34d483b02a19e1\"\u003e\u003ccode\u003e918cf5d\u003c/code\u003e\u003c/a\u003e fix(client): improve adapter-related Prisma 7 error messages (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29624\"\u003e#29624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/93da6ea2dcd65b8b4b9d58daf2e2821f1a4e9320\"\u003e\u003ccode\u003e93da6ea\u003c/code\u003e\u003c/a\u003e ci(e2e): shard client e2e suite across 3 jobs to fix chronic timeouts (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29619\"\u003e#29619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/3937779e617c743966ebb50901d013167dd9171e\"\u003e\u003ccode\u003e3937779\u003c/code\u003e\u003c/a\u003e fix: remove duplicate 'the the' in test comments (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29610\"\u003e#29610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/fda8fbce23b3af6b1651bd539da09e62c863ed6e\"\u003e\u003ccode\u003efda8fbc\u003c/code\u003e\u003c/a\u003e chore(deps): bump \u003ccode\u003e@​prisma/dev\u003c/code\u003e to 0.24.9 (resolves hono GHSA-92pp-h63x-v22m) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/0036baf8c9bb0b53e18c04fb27de4acf0535a306\"\u003e\u003ccode\u003e0036baf\u003c/code\u003e\u003c/a\u003e fix(client-engine-runtime): surface unmapped driver errors as user-facing P20...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.9.1/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2` from 0.44.0 to 0.45.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ranisalt/node-argon2/releases\"\u003eargon2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.45.1\u003c/h2\u003e\n\u003cp\u003eFixes an issue with v0.45.0 where TypeScript generated types for the hash function as returning \u003ccode\u003ePromise\u0026lt;any\u0026gt;\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.45.0...v0.45.1\"\u003ehttps://github.com/ranisalt/node-argon2/compare/v0.45.0...v0.45.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.45.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eDrops support for Node 18 and 20 (probably still works, but isn't tested)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd comparison with node:crypto and clarify parameter usage in README.md by \u003ca href=\"https://github.com/cbodin\"\u003e\u003ccode\u003e@​cbodin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/491\"\u003eranisalt/node-argon2#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compilation on solaris by \u003ca href=\"https://github.com/matt-fidd\"\u003e\u003ccode\u003e@​matt-fidd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/538\"\u003eranisalt/node-argon2#538\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/cbodin\"\u003e\u003ccode\u003e@​cbodin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/491\"\u003eranisalt/node-argon2#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matt-fidd\"\u003e\u003ccode\u003e@​matt-fidd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/538\"\u003eranisalt/node-argon2#538\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\"\u003ehttps://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/786de7152f95881b0683aea1d2ca60ed0d6d9e2f\"\u003e\u003ccode\u003e786de71\u003c/code\u003e\u003c/a\u003e fix: hash function generated types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/e2fe33fedb6811d0d038872c506811f164d11442\"\u003e\u003ccode\u003ee2fe33f\u003c/code\u003e\u003c/a\u003e fix: update Node.js version to latest in publish job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/e27980fce91c0cda602e4e96f2bab0a74a372a76\"\u003e\u003ccode\u003ee27980f\u003c/code\u003e\u003c/a\u003e fix: revert sync to default in freebsd test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/3d0a0b41372fffedfe655f287b69568ecd8498ff\"\u003e\u003ccode\u003e3d0a0b4\u003c/code\u003e\u003c/a\u003e fix: change npm publish to npm stage publish in release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/c61513fffe7dd5a7587bd19181f7aa689482c16e\"\u003e\u003ccode\u003ec61513f\u003c/code\u003e\u003c/a\u003e chore: update actions versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/2bc07331b01c3647db7f55be4a754fb9f4e01d97\"\u003e\u003ccode\u003e2bc0733\u003c/code\u003e\u003c/a\u003e fix: revert sync to default in freebsd build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/b0123794be320b2af3c142ecd9bf6dd3e1c91d64\"\u003e\u003ccode\u003eb012379\u003c/code\u003e\u003c/a\u003e chore: update dependencies and devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/d2edf4e95a8add001b374670a7a00bb1355b8ee6\"\u003e\u003ccode\u003ed2edf4e\u003c/code\u003e\u003c/a\u003e fix(tests): add unicode flag to regex assertions in option tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/0eb1db16644dcbe2fc962ce2c50f2abff535a269\"\u003e\u003ccode\u003e0eb1db1\u003c/code\u003e\u003c/a\u003e Apply npm fixes to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/a09b94ed9586143114fe60f5cb09fc7d2e567c77\"\u003e\u003ccode\u003ea09b94e\u003c/code\u003e\u003c/a\u003e Fix compilation on solaris (\u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/issues/538\"\u003e#538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for argon2 since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint/js` from 9.39.5 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003e@​eslint/js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\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/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.j...\n\n_Description has been truncated_","html_url":"https://github.com/matheusbecker00/OdontoGest/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusbecker00%2FOdontoGest/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"22.0.8","new_version":"22.1.0","update_type":"minor","path":null,"pr_created_at":"2026-07-29T20:54:19.000Z","version_change":"22.0.8 → 22.1.0","issue":{"uuid":"5013518979","node_id":"PR_kwDONTy0Pc74Mv6N","number":485,"state":"closed","title":"chore(deps): Bump the angular-minor group with 8 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-30T20:53:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-29T20:54:19.000Z","updated_at":"2026-07-30T20:53:14.000Z","time_to_close":86333,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"angular-minor","update_count":8,"packages":[{"name":"@angular/common","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"22.0.8","new_version":"22.0.9","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.8","new_version":"22.0.9","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.8","new_version":"22.1.0","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular-minor group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.8` | `22.1.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.8` | `22.1.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.8` | `22.1.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.8` | `22.1.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.8` | `22.1.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.8` | `22.0.9` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.8` | `22.0.9` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.8` | `22.1.0` |\n\nUpdates `@angular/common` from 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/79a37f3d0b690a9e9cc893a10cef4ef4cdce4c3b\"\u003e\u003ccode\u003e79a37f3\u003c/code\u003e\u003c/a\u003e refactor(common): replaces the deprecated positional \u003ccode\u003esubscribe\u003c/code\u003e arguments wi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6dcb534e127d8b9971103596844ca1c0e736596b\"\u003e\u003ccode\u003e6dcb534\u003c/code\u003e\u003c/a\u003e refactor(common): remove duplicate helper function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003ccode\u003eec16a3d\u003c/code\u003e\u003c/a\u003e fix(http): enable xsrf for root-provided HttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003ccode\u003e39e362e\u003c/code\u003e\u003c/a\u003e fix(http): match header values exactly when deleting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003ccode\u003ebe46ca8\u003c/code\u003e\u003c/a\u003e fix(http): preserve immutability of materialized clones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d14696e4308c5cd95cf2184cae3582b52f7c7cf3\"\u003e\u003ccode\u003ed14696e\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3192dccaa3e1488f8bf351864ea48e44a21246aa\"\u003e\u003ccode\u003e3192dcc\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/359fb503b8f262db7a053febc18c416f966e8185\"\u003e\u003ccode\u003e359fb50\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6d043f86573e317f20039ccec031d6e63c01b656\"\u003e\u003ccode\u003e6d043f8\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c1829f6d7cc37aec73217a53da1e8314690c8c79\"\u003e\u003ccode\u003ec1829f6\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003ccode\u003e091456a\u003c/code\u003e\u003c/a\u003e fix(core): account for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003ccode\u003e23cf1a8\u003c/code\u003e\u003c/a\u003e fix(core): sanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8201cebc49c2d43307731191479749fb4dc3e854\"\u003e\u003ccode\u003e8201ceb\u003c/code\u003e\u003c/a\u003e refactor(compiler): enforce exhaustive defer trigger handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e\u003ccode\u003e68ac204\u003c/code\u003e\u003c/a\u003e fix(core): ignore processing instruction syntax in templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/da52137724b8cce79b036026fa1aa07bc730389c\"\u003e\u003ccode\u003eda52137\u003c/code\u003e\u003c/a\u003e fix(compiler): parsing of an empty template literal interpolation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003ccode\u003e5bd00ad\u003c/code\u003e\u003c/a\u003e fix(compiler): support foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003ccode\u003e2e442f7\u003c/code\u003e\u003c/a\u003e perf(compiler): do not emit tag name when control flow root is foreign compon...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a19c02706fd84d831298c6e2e37dd19fc1b00e4e\"\u003e\u003ccode\u003ea19c027\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): support foreign imports with isolated declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e\u003ccode\u003e997b772\u003c/code\u003e\u003c/a\u003e fix(compiler): use regular optional chaining expression for safe function cal...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003ccode\u003ed579eca\u003c/code\u003e\u003c/a\u003e feat(compiler): Disable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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 22.0.8 to 22.1.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\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg src=\"https://img.shields.io/badge/56607967db-fix-green\" alt=\"fix - 56607967db\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003cimg src=\"https://img.shields.io/badge/23cf1a828b-fix-green\" alt=\"fix - 23cf1a828b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0c07356c5c-fix-green\" alt=\"fix - 0c07356c5c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\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/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbbd357bd2-fix-green\" alt=\"fix - bbbd357bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3630c23c5-feat-blue\" alt=\"feat - e3630c23c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003e\u003cimg src=\"https://img.shields.io/badge/ec16a3d6c6-fix-green\" alt=\"fix - ec16a3d6c6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e\u003cimg src=\"https://img.shields.io/badge/39e362eea5-fix-green\" alt=\"fix - 39e362eea5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003e\u003cimg src=\"https://img.shields.io/badge/be46ca8696-fix-green\" alt=\"fix - be46ca8696\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0cbd46bd7-fix-green\" alt=\"fix - c0cbd46bd7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/af04e266cc-refactor-yellow\" alt=\"refactor - af04e266cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f0265e43a-feat-blue\" alt=\"feat - 7f0265e43a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecompile non-exported classes if standalone (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84\"\u003e\u003cimg src=\"https://img.shields.io/badge/4f9c824dd9-feat-blue\" alt=\"feat - 4f9c824dd9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eTypecheck templates which would require inline typecheck blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68454\"\u003e#68454\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.1.0 (2026-07-29)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e292199aa4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e124ba10ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e091456a214\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003eb3748e9fe4\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e11b206b919\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e56607967db\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce logical-only containers for foreign content\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e23cf1a828b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize host bindings on concrete hosts (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b\"\u003e0c07356c5c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset current tnode in foreign component instruction on reuse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67\"\u003ebbbd357bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd utility to assert that value is a field tree\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/e3630c23c59445fc8bace5117283f20d6379dded\"\u003ee3630c23c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd options to allow caching of credentialed and non-cacheable HTTP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64\"\u003eec16a3d6c6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable xsrf for root-provided HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea\"\u003e39e362eea5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ematch header values exactly when deleting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81\"\u003ebe46ca8696\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve immutability of materialized clones\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96\"\u003ec0cbd46bd7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5\"\u003eaf04e266cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate jsonp support\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ada038fca8ec59c90a9b5773e0a1d5411ee67073\"\u003e\u003ccode\u003eada038f\u003c/code\u003e\u003c/a\u003e refactor(core): Migrate more tests off \u003ccode\u003efakeAsync\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003ccode\u003e091456a\u003c/code\u003e\u003c/a\u003e fix(core): account for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544\"\u003e\u003ccode\u003e23cf1a8\u003c/code\u003e\u003c/a\u003e fix(core): sanitize host bindings on concrete hosts (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5d5b2ea72d03ffc2350e66e202cbca0bf491a5f2\"\u003e\u003ccode\u003e5d5b2ea\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly detect \u003ccode\u003ethen\u003c/code\u003e/\u003ccode\u003eelse\u003c/code\u003e keywords in control flow migr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/350ea416b64c98929bdfbcc1dded220bef0df378\"\u003e\u003ccode\u003e350ea41\u003c/code\u003e\u003c/a\u003e refactor(core): align navigation types with built in ones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49672c437b440564e9c20b77a7ff151fbf316706\"\u003e\u003ccode\u003e49672c4\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly migrate ngClass with mixed space-separated keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3499a1321bfe4801c38744ddb500715486680366\"\u003e\u003ccode\u003e3499a13\u003c/code\u003e\u003c/a\u003e fix(core): ensure SVG animation attributeName is checked case-insensitively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/223e40279f3f6df979a323f79cb370528366c24a\"\u003e\u003ccode\u003e223e402\u003c/code\u003e\u003c/a\u003e fix(migrations): preserve NgClass import on partial migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f034c02e67d25018ca3ff952904d9bcaf43175d4\"\u003e\u003ccode\u003ef034c02\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.1.0-next.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e\u003ccode\u003e0ae6d81\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.1.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/platform-browser` from 22.0.8 to 22.1.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/platform-browser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.1.0\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/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ad6824d0d-fix-green\" alt=\"fix - 1ad6824d0d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69017\"\u003e#69017\u003c/a\u003e)\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/af5e4e113130427ba8152166b4d904dd177c982e\"\u003e\u003cimg src=\"https://img.shields.io/badge/af5e4e1131-feat-blue\" alt=\"feat - af5e4e1131\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003e\u003cimg src=\"https://img.shields.io/badge/d579ecaf73-feat-blue\" alt=\"feat - d579ecaf73\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003e\u003cimg src=\"https://img.shields.io/badge/f98547675c-feat-blue\" alt=\"feat - f98547675c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8c8b2f7783-feat-blue\" alt=\"feat - 8c8b2f7783\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/292199aa4d-fix-green\" alt=\"fix - 292199aa4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epermissive whitespace parsing in default never blocks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e\u003cimg src=\"https://img.shields.io/badge/25c744c4d0-fix-green\" alt=\"fix - 25c744c4d0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e\u003cimg src=\"https://img.shields.io/badge/5bd00add07-fix-green\" alt=\"fix - 5bd00add07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e\u003cimg src=\"https://img.shields.io/badge/2e442f7876-perf-orange\" alt=\"perf - 2e442f7876\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69674\"\u003e#69674\u003c/a\u003e)\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003e\u003cimg src=\"https://img.shields.io/badge/aeb55c8bc1-fix-green\" alt=\"fix - aeb55c8bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c60a98b3c-fix-green\" alt=\"fix - 7c60a98b3c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/68674\"\u003e#68674\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/124ba10ead58c9f93b0b74c4102022c4674db1f5\"\u003e\u003cimg src=\"https://img.shields.io/badge/124ba10ead-feat-blue\" alt=\"feat - 124ba10ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd custom set option to linkedSignal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003e\u003cimg src=\"https://img.shields.io/badge/eab4847a8b-feat-blue\" alt=\"feat - eab4847a8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/091456a214-fix-green\" alt=\"fix - 091456a214\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for namespaces in host binding sanitization (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69558\"\u003e#69558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452\"\u003e\u003cimg src=\"https://img.shields.io/badge/b3748e9fe4-fix-green\" alt=\"fix - b3748e9fe4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect container anchor collection order to match DOM layout\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a\"\u003e\u003cimg src=\"https://img.shields.io/badge/11b206b919-fix-green\" alt=\"fix - 11b206b919\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce disposal mechanism for Angular views in foreign \u003ccode\u003e@content\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232\"\u003e\u003cimg...\n\n_Description has been truncated_","html_url":"https://github.com/starforge-universe/starforge-universe.github.io/pull/485","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/starforge-universe%2Fstarforge-universe.github.io/issues/485","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/485/packages"}},{"old_version":"21.2.18","new_version":"22.0.8","update_type":"major","path":null,"pr_created_at":"2026-07-26T21:43:30.000Z","version_change":"21.2.18 → 22.0.8","issue":{"uuid":"4982661105","node_id":"PR_kwDOPj0rSs72o1Oc","number":5,"state":"open","title":"Bump the angular group 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-07-26T21:43:30.000Z","updated_at":"2026-07-26T21:43:31.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/common","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.19","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.19","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"angular-eslint","old_version":"21.4.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.18` | `22.0.8` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.18` | `22.0.8` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.18` | `22.0.8` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.18` | `22.0.8` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.18` | `22.0.8` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.18` | `22.0.8` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.19` | `22.0.8` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.19` | `22.0.8` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.18` | `22.0.8` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.4.0` | `22.1.0` |\n\nUpdates `@angular/common` from 21.2.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003ccode\u003ec0368f2\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003ccode\u003e9d40f8a\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003ccode\u003e91e33aa\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/20b7dc3023df9ccde232cf9fef1d2b1d3ae68b23\"\u003e\u003ccode\u003e20b7dc3\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/748faa4f95dfdae1570057f7af1bc7031e80a94a\"\u003e\u003ccode\u003e748faa4\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8e6d7f71906e35181577b9e66474695ba3077599\"\u003e\u003ccode\u003e8e6d7f7\u003c/code\u003e\u003c/a\u003e fix(router): use safe hasOwnProperty when parsing query params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb8fb9fe58687fe0f341dc3beb5d0fb469605179\"\u003e\u003ccode\u003eeb8fb9f\u003c/code\u003e\u003c/a\u003e fix(common): use Object.hasOwn in I18nSelectPipe to handle null-prototype and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cd8f472ab4b7d0565fd9c883feaa4be4fee730ef\"\u003e\u003ccode\u003ecd8f472\u003c/code\u003e\u003c/a\u003e docs: add documentation for HttpClient response body size limit and related e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003ccode\u003e8cdc202\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/3854174ec4a25e21abaef4ddd9d968a5b46fc832\"\u003e\u003ccode\u003e3854174\u003c/code\u003e\u003c/a\u003e refactor(compiler): enforce exhaustive defer trigger handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003ccode\u003ec89f71a\u003c/code\u003e\u003c/a\u003e fix(core): ignore processing instruction syntax in templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003ccode\u003e5b516e3\u003c/code\u003e\u003c/a\u003e fix(compiler): parsing of an empty template literal interpolation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd4ddcafed340dbc116df9718f03ee9e16c41c18\"\u003e\u003ccode\u003efd4ddca\u003c/code\u003e\u003c/a\u003e fix(compiler): use regular optional chaining expression for safe function cal...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b5ea3408ce1414c5c93a4d252a298e1ef18f447e\"\u003e\u003ccode\u003eb5ea340\u003c/code\u003e\u003c/a\u003e refactor(compiler): remove \u003ccode\u003evisitAttributeComment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003ccode\u003ef4f7f37\u003c/code\u003e\u003c/a\u003e fix(compiler): remove unused import breaking CI in 22.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/489d1707d79fe91f1c23d905c4ce9f21cfd1ddf2\"\u003e\u003ccode\u003e489d170\u003c/code\u003e\u003c/a\u003e refactor(compiler): desable the legacy template syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39001be266e05d73e90a8acf01d47fcddbfab612\"\u003e\u003ccode\u003e39001be\u003c/code\u003e\u003c/a\u003e refactor(compiler): Move the attribute comment to the HTML AST\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003ccode\u003e388daea\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly migrate ngClass with mixed space-separated keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003ccode\u003e8616ba9\u003c/code\u003e\u003c/a\u003e fix(core): ensure SVG animation attributeName is checked case-insensitively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003ccode\u003ebb39cda\u003c/code\u003e\u003c/a\u003e fix(migrations): preserve NgClass import on partial migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/829d98e9ae08b12a2c4a624a64f87660d6dfde26\"\u003e\u003ccode\u003e829d98e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e881b962cc45ddc7d60da095bac496a7709f25cb\"\u003e\u003ccode\u003ee881b96\u003c/code\u003e\u003c/a\u003e refactor(core): move signal debug graph interfaces to primitives/devtools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1046fd9e56b607ddc3f22ffd86af7c3bddec40ce\"\u003e\u003ccode\u003e1046fd9\u003c/code\u003e\u003c/a\u003e refactor(core): remove deprecated \u003ccode\u003eunregisterTool\u003c/code\u003e from \u003ccode\u003eModelContext\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98\"\u003e\u003ccode\u003e5936ffb\u003c/code\u003e\u003c/a\u003e refactor(core): update WebMCP tool registration to be asynchronous\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c82ae67e3d866daea488c9cb312c45bbb19c7b33\"\u003e\u003ccode\u003ec82ae67\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): allow static attributes for explicit input transforms\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ec9b4793e88828257cae38ac75b8e1c5392022ff\"\u003e\u003ccode\u003eec9b479\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003ccode\u003ed302c7a\u003c/code\u003e\u003c/a\u003e fix(forms):  ensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e14ead1093a40200bc1bd4162611dcb9862fc714\"\u003e\u003ccode\u003ee14ead1\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(forms): preserve intermediate number values in signal forms\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003ccode\u003e64d6d47\u003c/code\u003e\u003c/a\u003e fix(forms): preserve intermediate number values in signal forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a6174d5900570ec0ce72683438bdbbc39158f96d\"\u003e\u003ccode\u003ea6174d5\u003c/code\u003e\u003c/a\u003e refactor(forms): warn when a text input receives a null value in Signal Forms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5936ffb80cf729667951a43b2da479d663fb5c98\"\u003e\u003ccode\u003e5936ffb\u003c/code\u003e\u003c/a\u003e refactor(core): update WebMCP tool registration to be asynchronous\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5d06fcb1092d121a8990ef7934bfba0b599ff6f2\"\u003e\u003ccode\u003e5d06fcb\u003c/code\u003e\u003c/a\u003e test(forms): register writeback test control as CVA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003ccode\u003e6cf7446\u003c/code\u003e\u003c/a\u003e fix(forms): prevent stale CVA writeback during debounce\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003ccode\u003e1b99646\u003c/code\u003e\u003c/a\u003e fix(forms): allow multiple async validators\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eca3395019cf019452e2d1b6eacc43555c313e2d\"\u003e\u003ccode\u003eeca3395\u003c/code\u003e\u003c/a\u003e removed console log\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/b34bf0dce855bca3c6dfcf7e19d38b3b39288a16\"\u003e\u003ccode\u003eb34bf0d\u003c/code\u003e\u003c/a\u003e fix(platform-browser): prevent ReDoS in SOURCEMAP_URL_REGEXP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ab18f5ff0bfdd7ef5f3050c1a271c1553b30f608\"\u003e\u003ccode\u003eab18f5f\u003c/code\u003e\u003c/a\u003e refactor(core): cleanup Meta service\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/748faa4f95dfdae1570057f7af1bc7031e80a94a\"\u003e\u003ccode\u003e748faa4\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/97197786b3d77154ace1c8e638c12ccc12b4610f\"\u003e\u003ccode\u003e9719778\u003c/code\u003e\u003c/a\u003e docs: add NG05200 error reference page for SANITIZATION_UNSAFE_SCRIPT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d536d7a8479f7360de822e8ec905a8d3a26efdd\"\u003e\u003ccode\u003e3d536d7\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f598dcfda0d2c13eca237b6a2ed7006361b0506a\"\u003e\u003ccode\u003ef598dcf\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05101\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/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/0d9a245345c5bb3013849d924efbfa3676b520a0\"\u003e\u003ccode\u003e0d9a245\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\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.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/...\n\n_Description has been truncated_","html_url":"https://github.com/Baylox/portfoliot/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baylox%2Fportfoliot/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"21.2.18","new_version":"22.0.8","update_type":"major","path":null,"pr_created_at":"2026-07-26T00:42:50.000Z","version_change":"21.2.18 → 22.0.8","issue":{"uuid":"4978420155","node_id":"PR_kwDORvJjTc72b4y6","number":58,"state":"open","title":"chore(deps): bump the npm-dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-26T00:42:50.000Z","updated_at":"2026-07-26T00:43:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":26,"packages":[{"name":"@angular/animations","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"21.2.14","new_version":"22.0.6","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@primeuix/themes","old_version":"2.0.3","new_version":"3.0.0","repository_url":"https://github.com/primefaces/primeuix"},{"name":"ng2-charts","old_version":"8.0.0","new_version":"10.0.0","repository_url":"https://github.com/valor-software/ng2-charts"},{"name":"ngx-extended-pdf-viewer","old_version":"25.6.4","new_version":"28.1.0","repository_url":"https://github.com/stephanrauh/ngx-extended-pdf-viewer"},{"name":"ngx-infinite-scroll","old_version":"21.0.0","new_version":"22.0.0","repository_url":"https://github.com/orizens/ngx-infinite-scroll"},{"name":"ngx-sse-client","old_version":"20.0.1","new_version":"21.0.0","repository_url":"https://github.com/marcospds/ngx-sse-client"},{"name":"primeicons","old_version":"7.0.0","new_version":"8.0.0","repository_url":"https://github.com/primefaces/primeicons"},{"name":"primeng","old_version":"21.1.9","new_version":"22.0.0","repository_url":"https://github.com/primefaces/primeng"},{"name":"uuid","old_version":"11.1.1","new_version":"14.0.1","repository_url":"https://github.com/uuidjs/uuid"},{"name":"@angular/build","old_version":"21.2.19","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.19","new_version":"22.0.8","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.18","new_version":"22.0.8","repository_url":"https://github.com/angular/angular"},{"name":"@types/node","old_version":"25.9.5","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"angular-eslint","old_version":"21.4.0","new_version":"22.1.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"eslint","old_version":"9.39.5","new_version":"10.8.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 26 updates in the /booklore-ui directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.2.18` | `22.0.8` |\n| [@angular/cdk](https://github.com/angular/components) | `21.2.14` | `22.0.6` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.18` | `22.0.8` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.18` | `22.0.8` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.18` | `22.0.8` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.18` | `22.0.8` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.18` | `22.0.8` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.18` | `22.0.8` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.18` | `22.0.8` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `21.2.18` | `22.0.8` |\n| [@primeuix/themes](https://github.com/primefaces/primeuix/tree/HEAD/packages/themes) | `2.0.3` | `3.0.0` |\n| [ng2-charts](https://github.com/valor-software/ng2-charts) | `8.0.0` | `10.0.0` |\n| [ngx-extended-pdf-viewer](https://github.com/stephanrauh/ngx-extended-pdf-viewer) | `25.6.4` | `28.1.0` |\n| [ngx-infinite-scroll](https://github.com/orizens/ngx-infinite-scroll) | `21.0.0` | `22.0.0` |\n| [ngx-sse-client](https://github.com/marcospds/ngx-sse-client) | `20.0.1` | `21.0.0` |\n| [primeicons](https://github.com/primefaces/primeicons/tree/HEAD/packages/primeicons) | `7.0.0` | `8.0.0` |\n| [primeng](https://github.com/primefaces/primeng/tree/HEAD/packages/primeng) | `21.1.9` | `22.0.0` |\n| [uuid](https://github.com/uuidjs/uuid) | `11.1.1` | `14.0.1` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.19` | `22.0.8` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.19` | `22.0.8` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.18` | `22.0.8` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.5` | `26.1.1` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.4.0` | `22.1.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.5` | `10.8.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n\n\nUpdates `@angular/animations` from 21.2.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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.8/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.14 to 22.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.6\u003c/h2\u003e\n\u003ch3\u003ematerial-luxon-adapter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\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/6e5acc1ecbed97c307a333f79064927534a8794d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6e5acc1ecb-fix-green\" alt=\"fix - 6e5acc1ecb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/issues/33564\"\u003e#33564\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/842bc940b8dd3f1e69c460e724921a5f4ababede\"\u003e\u003cimg src=\"https://img.shields.io/badge/842bc940b8-fix-green\" alt=\"fix - 842bc940b8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/issues/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b5224c68f1ef1b996462a305d98387c564c36a83\"\u003e\u003cimg src=\"https://img.shields.io/badge/b5224c68f1-fix-green\" alt=\"fix - b5224c68f1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/354f1ac17dc8365dacc61a02f3288dc73f676bb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/354f1ac17d-fix-green\" alt=\"fix - 354f1ac17d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d9fcaced4950ce6f3d7f759bbeab18134217dbce\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9fcaced49-fix-green\" alt=\"fix - d9fcaced49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33554\"\u003e#33554\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.5\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d26e8920219e4ea0b02814d362cb9f3b7ecf647f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d26e892021-fix-green\" alt=\"fix - d26e892021\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e match focus indicator shape to FAB (\u003ca href=\"https://redirect.github.com/angular/components/issues/33527\"\u003e#33527\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ea89b9c37f6214efc7b2d59decc308246f1ce21a\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea89b9c37f-fix-green\" alt=\"fix - ea89b9c37f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e use rounded shape for calendar focus indicators (\u003ca href=\"https://redirect.github.com/angular/components/issues/33524\"\u003e#33524\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/092b55aa673edc872ea1bdbd3e120001597e975f\"\u003e\u003cimg src=\"https://img.shields.io/badge/092b55aa67-fix-green\" alt=\"fix - 092b55aa67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e double focus indicators when strong focus is enabled (\u003ca href=\"https://redirect.github.com/angular/components/issues/33520\"\u003e#33520\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e93bc9e5d6f1b511a9e845fc26c8c2df537260ab\"\u003e\u003cimg src=\"https://img.shields.io/badge/e93bc9e5d6-fix-green\" alt=\"fix - e93bc9e5d6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e add border radius to header hover state in m2 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33529\"\u003e#33529\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1059f80cef9ad3348c7c859e6dba36a44bfe8abc\"\u003e\u003cimg src=\"https://img.shields.io/badge/1059f80cef-fix-green\" alt=\"fix - 1059f80cef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eoverlay:\u003c/strong\u003e guard against null document.body before popover support check (\u003ca href=\"https://redirect.github.com/angular/components/issues/33403\"\u003e#33403\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/adbf93559e2c5ed517bf5867cd7b6cec267bfc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/adbf93559e-fix-green\" alt=\"fix - adbf93559e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eprivate:\u003c/strong\u003e guard createPolicy against DOM clobbering (\u003ca href=\"https://redirect.github.com/angular/components/issues/33410\"\u003e#33410\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e74c69be33ab44f883ac083d369903784e5cb253\"\u003e\u003cimg src=\"https://img.shields.io/badge/e74c69be33-fix-green\" alt=\"fix - e74c69be33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e closing immediately when opening programmatically with zone.js (\u003ca href=\"https://redirect.github.com/angular/components/issues/33518\"\u003e#33518\u003c/a\u003e)\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\u003eDescription\u003c/th\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/b2620abaa20fe494c77438d0df41a56effd577e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/b2620abaa2-fix-green\" alt=\"fix - b2620abaa2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass form field to error state tracker (\u003ca href=\"https://redirect.github.com/angular/components/issues/33509\"\u003e#33509\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.4\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/c86b024e3f48b4a78aa6c3d041089683bfbba353\"\u003e\u003cimg src=\"https://img.shields.io/badge/c86b024e3-fix-green\" alt=\"fix - c86b024e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecore:\u003c/strong\u003e rework error state matcher to handle signal forms (\u003ca href=\"https://redirect.github.com/angular/components/issues/33500\"\u003e#33500\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/918090a07642cfd16336d2b7f366dfb9830a5597\"\u003e\u003cimg src=\"https://img.shields.io/badge/918090a07-fix-green\" alt=\"fix - 918090a07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elistbox:\u003c/strong\u003e allow navigation to specific index (\u003ca href=\"https://redirect.github.com/angular/components/issues/33485\"\u003e#33485\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\u003c/h2\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.6 \u0026quot;plaid-panda\u0026quot; (2026-07-22)\u003c/h1\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/d9fcaced4950ce6f3d7f759bbeab18134217dbce\"\u003ed9fcaced49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edrag-drop:\u003c/strong\u003e reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/pull/33554\"\u003e#33554\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/842bc940b8dd3f1e69c460e724921a5f4ababede\"\u003e842bc940b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eexpansion:\u003c/strong\u003e always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/pull/33542\"\u003e#33542\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/b5224c68f1ef1b996462a305d98387c564c36a83\"\u003eb5224c68f1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elist:\u003c/strong\u003e make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/pull/33544\"\u003e#33544\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/354f1ac17dc8365dacc61a02f3288dc73f676bb8\"\u003e354f1ac17d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eradio:\u003c/strong\u003e avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/pull/33558\"\u003e#33558\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial-luxon-adapter\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\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/6e5acc1ecbed97c307a333f79064927534a8794d\"\u003e6e5acc1ecb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/pull/33564\"\u003e#33564\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.1.0-next.4 \u0026quot;plastic box\u0026quot; (2026-07-15)\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/def7bc2a69fb5722da681468e2638a2dceadb3ab\"\u003edef7bc2a69\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e closing immediately when opening programmatically with zone.js (\u003ca href=\"https://redirect.github.com/angular/components/pull/33518\"\u003e#33518\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/67a5031db78e1e6e6e683b864a49e47c38ab81bd\"\u003e67a5031db7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eoverlay:\u003c/strong\u003e guard against null document.body before popover support check (\u003ca href=\"https://redirect.github.com/angular/components/pull/33403\"\u003e#33403\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c069cab23ca5d1e4faf277e755c543efcca2b45a\"\u003ec069cab23c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eprivate:\u003c/strong\u003e guard createPolicy against DOM clobbering (\u003ca href=\"https://redirect.github.com/angular/components/pull/33410\"\u003e#33410\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/d324696863cfc4ee7f4475499d7f0dbed8496d74\"\u003ed324696863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebutton:\u003c/strong\u003e match focus indicator shape to FAB (\u003ca href=\"https://redirect.github.com/angular/components/pull/33527\"\u003e#33527\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9a247a8da23f2c9d5ed03c68d21659f814ae29c6\"\u003e9a247a8da2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edatepicker:\u003c/strong\u003e use rounded shape for calendar focus indicators (\u003ca href=\"https://redirect.github.com/angular/components/pull/33524\"\u003e#33524\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/14d896a9366bca6df253af2aade8de4c09f98ba7\"\u003e14d896a936\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003esort:\u003c/strong\u003e double focus indicators when strong focus is enabled (\u003ca href=\"https://redirect.github.com/angular/components/pull/33520\"\u003e#33520\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/c729db79725e819d0ecd3e08cdd0cd876ddae755\"\u003ec729db7972\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e add border radius to header hover state in m2 (\u003ca href=\"https://redirect.github.com/angular/components/pull/33529\"\u003e#33529\u003c/a\u003e)\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/ebd64a1bf8409feede16bef532acf8ffe903d6f0\"\u003eebd64a1bf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass form field to error state tracker (\u003ca href=\"https://redirect.github.com/angular/components/pull/33509\"\u003e#33509\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.5 \u0026quot;plastic bottle\u0026quot; (2026-07-15)\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/e74c69be33ab44f883ac083d369903784e5cb253\"\u003ee74c69be33\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e closing immediately when opening programmatically with zone.js (\u003ca href=\"https://redirect.github.com/angular/components/pull/33518\"\u003e#33518\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\u003c!-- 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/f47322743cd98bed8fca3378bb66841f336e48c4\"\u003e\u003ccode\u003ef473227\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/6e5acc1ecbed97c307a333f79064927534a8794d\"\u003e\u003ccode\u003e6e5acc1\u003c/code\u003e\u003c/a\u003e fix(material-luxon-adapter): preserve timezone on .clone() (\u003ca href=\"https://redirect.github.com/angular/components/issues/33564\"\u003e#33564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/935483347f58221831afaa425cde3f1f54a2eeaf\"\u003e\u003ccode\u003e9354833\u003c/code\u003e\u003c/a\u003e docs: convert Stepper/Tabs/Timepicker example to signals (\u003ca href=\"https://redirect.github.com/angular/components/issues/33536\"\u003e#33536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/d9fcaced4950ce6f3d7f759bbeab18134217dbce\"\u003e\u003ccode\u003ed9fcace\u003c/code\u003e\u003c/a\u003e fix(cdk/drag-drop): reset popover overflow (\u003ca href=\"https://redirect.github.com/angular/components/issues/33554\"\u003e#33554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b5224c68f1ef1b996462a305d98387c564c36a83\"\u003e\u003ccode\u003eb5224c6\u003c/code\u003e\u003c/a\u003e fix(material/list): make disabled selection list keyboard navigable (\u003ca href=\"https://redirect.github.com/angular/components/issues/33544\"\u003e#33544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e493c985ac022a04e7f8444c215f1260e80a866b\"\u003e\u003ccode\u003ee493c98\u003c/code\u003e\u003c/a\u003e refactor(material-experimental/column-resize): switch tests away from fakeAsy...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/354f1ac17dc8365dacc61a02f3288dc73f676bb8\"\u003e\u003ccode\u003e354f1ac\u003c/code\u003e\u003c/a\u003e fix(material/radio): avoid making the touch target a focus stop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33558\"\u003e#33558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/8bce120294cabe0b0f0415dc6f69b4a4e4d9281d\"\u003e\u003ccode\u003e8bce120\u003c/code\u003e\u003c/a\u003e test(cdk/menu): switch away from fakeAsync (\u003ca href=\"https://redirect.github.com/angular/components/issues/33550\"\u003e#33550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/842bc940b8dd3f1e69c460e724921a5f4ababede\"\u003e\u003ccode\u003e842bc94\u003c/code\u003e\u003c/a\u003e fix(material/expansion): always reset outline (\u003ca href=\"https://redirect.github.com/angular/components/issues/33542\"\u003e#33542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/98cc317dc40f0925c2d6c0c5f251cf672c5eb2ee\"\u003e\u003ccode\u003e98cc317\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33540\"\u003e#33540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/v21.2.14...v22.0.6\"\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.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003ccode\u003ec0368f2\u003c/code\u003e\u003c/a\u003e fix(common): preserve crossorigin on image preloads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003ccode\u003e9d40f8a\u003c/code\u003e\u003c/a\u003e fix(http): prevent transfer cache key collisions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003ccode\u003e91e33aa\u003c/code\u003e\u003c/a\u003e fix(common): avoid prototype lookups in date format caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/20b7dc3023df9ccde232cf9fef1d2b1d3ae68b23\"\u003e\u003ccode\u003e20b7dc3\u003c/code\u003e\u003c/a\u003e fix(http): prevent interceptor signal reads from leaking into calling reactiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/748faa4f95dfdae1570057f7af1bc7031e80a94a\"\u003e\u003ccode\u003e748faa4\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Add build-time validation for API and guide links using rou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8e6d7f71906e35181577b9e66474695ba3077599\"\u003e\u003ccode\u003e8e6d7f7\u003c/code\u003e\u003c/a\u003e fix(router): use safe hasOwnProperty when parsing query params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb8fb9fe58687fe0f341dc3beb5d0fb469605179\"\u003e\u003ccode\u003eeb8fb9f\u003c/code\u003e\u003c/a\u003e fix(common): use Object.hasOwn in I18nSelectPipe to handle null-prototype and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cd8f472ab4b7d0565fd9c883feaa4be4fee730ef\"\u003e\u003ccode\u003ecd8f472\u003c/code\u003e\u003c/a\u003e docs: add documentation for HttpClient response body size limit and related e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003ccode\u003e8cdc202\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/3854174ec4a25e21abaef4ddd9d968a5b46fc832\"\u003e\u003ccode\u003e3854174\u003c/code\u003e\u003c/a\u003e refactor(compiler): enforce exhaustive defer trigger handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003ccode\u003ec89f71a\u003c/code\u003e\u003c/a\u003e fix(core): ignore processing instruction syntax in templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003ccode\u003e5b516e3\u003c/code\u003e\u003c/a\u003e fix(compiler): parsing of an empty template literal interpolation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd4ddcafed340dbc116df9718f03ee9e16c41c18\"\u003e\u003ccode\u003efd4ddca\u003c/code\u003e\u003c/a\u003e fix(compiler): use regular optional chaining expression for safe function cal...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b5ea3408ce1414c5c93a4d252a298e1ef18f447e\"\u003e\u003ccode\u003eb5ea340\u003c/code\u003e\u003c/a\u003e refactor(compiler): remove \u003ccode\u003evisitAttributeComment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003ccode\u003ef4f7f37\u003c/code\u003e\u003c/a\u003e fix(compiler): remove unused import breaking CI in 22.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/489d1707d79fe91f1c23d905c4ce9f21cfd1ddf2\"\u003e\u003ccode\u003e489d170\u003c/code\u003e\u003c/a\u003e refactor(compiler): desable the legacy template syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39001be266e05d73e90a8acf01d47fcddbfab612\"\u003e\u003ccode\u003e39001be\u003c/code\u003e\u003c/a\u003e refactor(compiler): Move the attribute comment to the HTML AST\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.8/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.18 to 22.0.8\n\u003cdetails\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\u003e22.0.8\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0368f2278-fix-green\" alt=\"fix - c0368f2278\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003cimg src=\"https://img.shields.io/badge/8616ba9db6-fix-green\" alt=\"fix - 8616ba9db6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\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/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003e\u003cimg src=\"https://img.shields.io/badge/d302c7ab83-fix-green\" alt=\"fix - d302c7ab83\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/9d40f8aefe-fix-green\" alt=\"fix - 9d40f8aefe\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003cimg src=\"https://img.shields.io/badge/388daea2fc-fix-green\" alt=\"fix - 388daea2fc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb39cda648-fix-green\" alt=\"fix - bb39cda648\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.7\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/91e33aa1de47d250d8cde21047597e8df771f07d\"\u003e\u003cimg src=\"https://img.shields.io/badge/91e33aa1de-fix-green\" alt=\"fix - 91e33aa1de\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/5b516e3a58e1233f2e01cbb53267b9563a72d5f1\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b516e3a58-fix-green\" alt=\"fix - 5b516e3a58\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\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/c88ddde1c9f56e3b5c5cf264e87217b86a036a58\"\u003e\u003cimg src=\"https://img.shields.io/badge/c88ddde1c9-fix-green\" alt=\"fix - c88ddde1c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/94d9591b512c94577080c77911dbd1c3516a8a81\"\u003e\u003cimg src=\"https://img.shields.io/badge/94d9591b51-fix-green\" alt=\"fix - 94d9591b51\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c89f71a74ce312f9f6522796a106eac48bd33ebb\"\u003e\u003cimg src=\"https://img.shields.io/badge/c89f71a74c-fix-green\" alt=\"fix - c89f71a74c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003cimg src=\"https://img.shields.io/badge/70500e4067-fix-green\" alt=\"fix - 70500e4067\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\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/1b9964675f0cfee30a0e8f6df664d1961a3dc3ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/1b9964675f-fix-green\" alt=\"fix - 1b9964675f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/64d6d47a0c67709ce887a90666fc214c40a283c4\"\u003e\u003cimg src=\"https://img.shields.io/badge/64d6d47a0c-fix-green\" alt=\"fix - 64d6d47a0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve intermediate number values in signal forms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6cf7446afaedd461b9e28291e326f6f2372fa157\"\u003e\u003cimg src=\"https://img.shields.io/badge/6cf7446afa-fix-green\" alt=\"fix - 6cf7446afa\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent stale CVA writeback during debounce\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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\u003e22.0.8 (2026-07-22)\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/c0368f227846024bb26d3628c59541e870bb36e4\"\u003ec0368f2278\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve crossorigin on image preloads\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e8616ba9db6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure SVG animation attributeName is checked case-insensitively\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d302c7ab833c0bd3bba951135e76e0c48273b3d7\"\u003ed302c7ab83\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure \u003ccode\u003epending\u003c/code\u003e status propagates to the root form in signal forms\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/9d40f8aefef9dcd893db5d01bc58d3e65e1cb4c2\"\u003e9d40f8aefe\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent transfer cache key collisions\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e388daea2fc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly migrate ngClass with mixed space-separated keys\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003ebb39cda648\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve NgClass import on partial migration\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.6 (2026-07-15)\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/359fb503b8f262db7a053febc18c416f966e8185\"\u003e359fb503b8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid prototype lookups in date format caches\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/da52137724b8cce79b036026fa1aa07bc730389c\"\u003eda52137724\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eparsing of an empty template literal interpolation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194\"\u003e5bd00add07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components inside control flow blocks (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049\"\u003e2e442f7876\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edo not emit tag name when control flow root is foreign component (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69674\"\u003e#69674\u003c/a\u003e)\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/ae0ec7315c6fbc45ce40581a08a8243a008a91ec\"\u003eae0ec7315c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ere-tag SourceFiles after TsCreateProgramDriver.updateFiles()\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9b9b0e93c90c0ecfc7f075a64908cce00eb03f38\"\u003e9b9b0e93c9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow static attributes for explicit input transforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68ac20407466f0d3e6f5c5016f1273672b5d2b34\"\u003e68ac204074\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore processing instruction syntax in templates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0ae6d81ed2a83b1ebbb75dabc53af77b8db86c41\"\u003e0ae6d81ed2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve explicit input transform write type\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\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/388daea2fc188aad3ab69fb81bd3f893ac3cd846\"\u003e\u003ccode\u003e388daea\u003c/code\u003e\u003c/a\u003e fix(migrations): correctly migrate ngClass with mixed space-separated keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8616ba9db6240f3fbf8b905342d07326e096302b\"\u003e\u003ccode\u003e8616ba9\u003c/code\u003e\u003c/a\u003e fix(core): ensure SVG animation attributeName is checked case-insensitively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bb39cda6483de2edab2f8221459b0ed5b73ef221\"\u003e\u003ccode\u003ebb39cda\u003c/code\u003e\u003c/a\u003e fix(migrations): preserve NgClass import on partial migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/829d98e9ae08b12a2c4a624a64f87660d6dfde26\"\u003e\u003ccode\u003e829d98e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70500e4067e74e5b5f79a15774b5d2f01524f397\"\u003e\u003ccode\u003e70500e4\u003c/code\u003e\u003c/a\u003e fix(core): preserve explicit input transform write type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e881b962cc45ddc7d60da095bac496a7709f25cb\"\u003e\u003ccode\u003ee881b96\u003c/code\u003e\u003c/a\u003e refactor(core): move signal debug graph interfaces to primitives/devtoo...\n\n_Description has been truncated_","html_url":"https://github.com/cdome/ollumi/pull/58","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/58","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/58/packages"}},{"old_version":"22.0.6","new_version":"22.0.7","update_type":"patch","path":null,"pr_created_at":"2026-07-21T13:45:50.000Z","version_change":"22.0.6 → 22.0.7","issue":{"uuid":"4939542249","node_id":"PR_kwDOTa-Mvs70YwdK","number":10,"state":"open","title":"chore(deps): bump the javascript-dependencies group across 1 directory with 25 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-07-21T13:45:50.000Z","updated_at":"2026-07-21T13:46:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"javascript-dependencies","update_count":25,"packages":[{"name":"firebase-admin","old_version":"13.10.0","new_version":"14.2.0","repository_url":"https://github.com/firebase/firebase-admin-node"},{"name":"markdownlint-cli2","old_version":"0.20.0","new_version":"0.23.1","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"prettier","old_version":"3.9.5","new_version":"3.9.6","repository_url":"https://github.com/prettier/prettier"},{"name":"@nestjs/swagger","old_version":"11.4.5","new_version":"11.4.6","repository_url":"https://github.com/nestjs/swagger"},{"name":"@prisma/adapter-pg","old_version":"7.8.0","new_version":"7.9.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@prisma/client","old_version":"7.8.0","new_version":"7.9.0","repository_url":"https://github.com/prisma/prisma"},{"name":"argon2","old_version":"0.44.0","new_version":"0.45.0","repository_url":"https://github.com/ranisalt/node-argon2"},{"name":"@eslint/js","old_version":"9.39.5","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@types/node","old_version":"24.10.13","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/pg","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/supertest","old_version":"7.2.0","new_version":"7.2.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint","old_version":"9.39.2","new_version":"10.7.0","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.3.0","new_version":"17.7.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"prisma","old_version":"7.8.0","new_version":"7.9.0","repository_url":"https://github.com/prisma/prisma"},{"name":"tsx","old_version":"4.21.0","new_version":"4.23.1","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript-eslint","old_version":"8.64.0","new_version":"8.65.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@angular/common","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"22.0.6","new_version":"22.0.7","repository_url":"https://github.com/angular/angular"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the javascript-dependencies group with 25 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [firebase-admin](https://github.com/firebase/firebase-admin-node) | `13.10.0` | `14.2.0` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.20.0` | `0.23.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.5` | `3.9.6` |\n| [@nestjs/swagger](https://github.com/nestjs/swagger) | `11.4.5` | `11.4.6` |\n| [@prisma/adapter-pg](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg) | `7.8.0` | `7.9.0` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.8.0` | `7.9.0` |\n| [argon2](https://github.com/ranisalt/node-argon2) | `0.44.0` | `0.45.0` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.5` | `10.0.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.10.13` | `26.1.1` |\n| [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) | `8.18.0` | `8.20.0` |\n| [@types/supertest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/supertest) | `7.2.0` | `7.2.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.7.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.7.0` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.8.0` | `7.9.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.23.1` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.64.0` | `8.65.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.6` | `22.0.7` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.6` | `22.0.7` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.6` | `22.0.7` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.6` | `22.0.7` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.6` | `22.0.7` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.6` | `22.0.7` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.6` | `22.0.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n\n\nUpdates `firebase-admin` from 13.10.0 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/firebase/firebase-admin-node/releases\"\u003efirebase-admin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.2.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(functions): Implement TaskQueue Scopes (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(dataconnect): Refactor CRUD helpers to use GraphQL variables and \u003ccode\u003e@allow\u003c/code\u003e directive (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3182\"\u003e#3182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 14.2.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3213\"\u003e#3213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump websocket-driver from 0.7.4 to 0.7.5 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 26.0.0 to 26.1.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump nock from 14.0.15 to 14.0.16 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix zizmor findings (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSecurity Audit \u0026amp; Remediation: GitHub Actions (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3192\"\u003e#3192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSecurity audit: remove unused dependencies and remediate dev vulnerabilities (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3191\"\u003e#3191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump mocha from 11.7.5 to 11.7.6 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e from 8.5.1 to 8.5.9 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3195\"\u003e#3195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint from 10.4.1 to 10.5.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3197\"\u003e#3197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump google-auth-library from 10.7.0 to 10.9.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3198\"\u003e#3198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.1.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(fcm): Enable \u003ccode\u003efid\u003c/code\u003e and deprecate \u003ccode\u003etoken\u003c/code\u003e for Send API (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(dataconnect): fix deserialization of emulator gRPC error codes into detailed errors (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3180\"\u003e#3180\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 14.1.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3193\"\u003e#3193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump typescript-eslint packages to 8.62.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.7.0 to 26.0.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3184\"\u003e#3184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​firebase/auth-compat\u003c/code\u003e from 0.6.6 to 0.6.8 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3187\"\u003e#3187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​microsoft/api-extractor\u003c/code\u003e from 7.58.1 to 7.58.9 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3188\"\u003e#3188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​firebase/app-compat\u003c/code\u003e from 0.5.12 to 0.5.13 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump shell-quote from 1.8.3 to 1.8.4 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3173\"\u003e#3173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump \u003ccode\u003e@​google-cloud/storage\u003c/code\u003e from 7.19.0 to 7.21.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump google-auth-library from 10.6.2 to 10.7.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3176\"\u003e#3176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump nyc from 17.1.0 to 18.0.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3177\"\u003e#3177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump \u003ccode\u003e@​grpc/grpc-js\u003c/code\u003e from 1.14.3 to 1.14.4 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3178\"\u003e#3178\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Node.js SDK v14.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\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/firebase/firebase-admin-node/commit/7343f166ec71c2efee5fe0554c2fb96203faf2a5\"\u003e\u003ccode\u003e7343f16\u003c/code\u003e\u003c/a\u003e [chore] Release 14.2.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3213\"\u003e#3213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/07fa1b16bdd4e726774e4f4b4ee6f0517d5f52f9\"\u003e\u003ccode\u003e07fa1b1\u003c/code\u003e\u003c/a\u003e build(deps): bump websocket-driver from 0.7.4 to 0.7.5 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/4681c28a4b0638323a139194069fbef6c9138ec7\"\u003e\u003ccode\u003e4681c28\u003c/code\u003e\u003c/a\u003e feat(functions): Implement TaskQueue Scopes (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3210\"\u003e#3210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/1dae1f90a3891db2c5ca5476b2baea246b7499e4\"\u003e\u003ccode\u003e1dae1f9\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 26.0.0 to 26.1.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/bcae57ae8b919cfa630f190d9de28f91066a6c0d\"\u003e\u003ccode\u003ebcae57a\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump nock from 14.0.15 to 14.0.16 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3202\"\u003e#3202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/b231b7562aae1905a19dc7943c2a70cfd3c0b995\"\u003e\u003ccode\u003eb231b75\u003c/code\u003e\u003c/a\u003e fix zizmor findings (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/ee319691e81ed31ab0701f0fc8fac886e735c2fe\"\u003e\u003ccode\u003eee31969\u003c/code\u003e\u003c/a\u003e fix(dataconnect): Refactor CRUD helpers to use GraphQL variables and \u003ca href=\"https://github.com/allow\"\u003e\u003ccode\u003e@​allow\u003c/code\u003e\u003c/a\u003e d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/c550a22e65cac25be48314cf17512b812b9212eb\"\u003e\u003ccode\u003ec550a22\u003c/code\u003e\u003c/a\u003e Security Audit \u0026amp; Remediation: GitHub Actions (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3192\"\u003e#3192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/ad97c0ca4e93e7b54436b335f915d3b24b8442dc\"\u003e\u003ccode\u003ead97c0c\u003c/code\u003e\u003c/a\u003e Security audit: remove unused dependencies and remediate dev vulnerabilities ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-node/commit/0cb9f79da4a40be96b86b71b8153c556933f0f14\"\u003e\u003ccode\u003e0cb9f79\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump mocha from 11.7.5 to 11.7.6 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-node/issues/3196\"\u003e#3196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/firebase/firebase-admin-node/compare/v13.10.0...v14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `markdownlint-cli2` from 0.20.0 to 0.23.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md\"\u003emarkdownlint-cli2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow attempted fix counts after fixing\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (including \u003ccode\u003emarkdownlint\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.23.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoverrides\u003c/code\u003e configuration option\u003c/li\u003e\n\u003cli\u003eImprove options/configuration file handling\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (including \u003ccode\u003emarkdownlint\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove support for end-of-life Node 20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.22.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.22.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003e--config\u003c/code\u003e parameter more flexible\u003c/li\u003e\n\u003cli\u003eSupport TOML with \u003ccode\u003e--config\u003c/code\u003e parameter\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--configPointer\u003c/code\u003e parameter\u003c/li\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor options/configuration file loading\u003c/li\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/06f92c99e930c11230426b5edd775021d25e08a8\"\u003e\u003ccode\u003e06f92c9\u003c/code\u003e\u003c/a\u003e Update to version 0.23.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/a77352640f8667a658349c68d14db1368c6b22ba\"\u003e\u003ccode\u003ea773526\u003c/code\u003e\u003c/a\u003e Freshen list of external custom rules included with the markdownlint-cli2-rul...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/437b0caae2b2f39d061309567f99f9c23eb1f1e5\"\u003e\u003ccode\u003e437b0ca\u003c/code\u003e\u003c/a\u003e Bump eslint-plugin-jsdoc from 63.0.11 to 63.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/5463e0fa275b9105ed02dbae9ea6848d062d1c1e\"\u003e\u003ccode\u003e5463e0f\u003c/code\u003e\u003c/a\u003e Bump eslint-plugin-unicorn from 70.0.0 to 71.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/b04ac138a26acc3f65a5e5482825cc938885b7b9\"\u003e\u003ccode\u003eb04ac13\u003c/code\u003e\u003c/a\u003e Bump globby from 16.2.0 to 16.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/1e63f97b080fc2aac9a426379e96e82542cf78a8\"\u003e\u003ccode\u003e1e63f97\u003c/code\u003e\u003c/a\u003e Revert commit afb7d9898724f0d96279116bbb6f0d1026fff8df \u0026quot;Pin CI workflow's pnp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/040594ba722e8d319c2e172bf9771d1ba8474d51\"\u003e\u003ccode\u003e040594b\u003c/code\u003e\u003c/a\u003e Update dependency: markdownlint to 0.41.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/4d97fa85a1eff2af23011c7f4838738332847f64\"\u003e\u003ccode\u003e4d97fa8\u003c/code\u003e\u003c/a\u003e Address new ESLint warnings from previous commit.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/50cb033a960853cde873c8895849cae94e9f0db7\"\u003e\u003ccode\u003e50cb033\u003c/code\u003e\u003c/a\u003e Bump eslint-node-test from 0.1.0 to 0.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/commit/a53bf04386f8980a027bbb2ed198a5361dbe2b55\"\u003e\u003ccode\u003ea53bf04\u003c/code\u003e\u003c/a\u003e Bump eslint-plugin-jsdoc from 63.0.10 to 63.0.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/DavidAnson/markdownlint-cli2/compare/v0.20.0...v0.23.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.5 to 3.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003eprettier/prettier#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport defer\u003c/code\u003e in \u003ccode\u003etypescript\u003c/code\u003e parser (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003eprettier/prettier#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003eprettier/prettier#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a new official plugin \u003ca href=\"https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku\"\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e 🚀\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003eprettier/prettier#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003eprettier/prettier#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396\"\u003eChangelog\u003c/a\u003e\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/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.6\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.5...3.9.6\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eTypeScript: Preserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003e#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003e// Input\ninterface Container {\n  \u0026quot;new\u0026quot;(id: string): number;\n}\n\u003cp\u003e// Prettier 3.9.5\u003cbr /\u003e\ninterface Container {\u003cbr /\u003e\nnew(id: string): number;\u003cbr /\u003e\n}\u003c/p\u003e\n\u003cp\u003e// Prettier 3.9.6\u003cbr /\u003e\ninterface Container {\u003cbr /\u003e\n\u0026quot;new\u0026quot;(id: string): number;\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eTypeScript: Support \u003ccode\u003eimport defer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003e#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003e#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"tsx\"\u003e\u003ccode\u003e// Input\nimport defer * as foo from \u0026quot;foo\u0026quot;;\n\u003cp\u003e// Prettier 3.9.5\u003cbr /\u003e\nimport * as foo from \u0026quot;foo\u0026quot;;\u003c/p\u003e\n\u003cp\u003e// Prettier 3.9.6\u003cbr /\u003e\nimport defer * as foo from \u0026quot;foo\u0026quot;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eJavaScript: Added a new official plugin \u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003e#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003e#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e is powered by \u003ca href=\"https://yuku.fyi/\"\u003eYuku\u003c/a\u003e (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).\u003c/p\u003e\n\u003cp\u003eThis plugin includes two new parsers: \u003ccode\u003eyuku\u003c/code\u003e (JavaScript syntax) and \u003ccode\u003eyuku-ts\u003c/code\u003e (TypeScript syntax).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eTo use this plugin:\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eInstall the plugin:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003eyarn add --dev prettier @prettier/plugin-yuku\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- 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/prettier/prettier/commit/8f0c95057cc91d5836409466cd9d9af3bb901e84\"\u003e\u003ccode\u003e8f0c950\u003c/code\u003e\u003c/a\u003e Release 3.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/e9107647d0497d8ff1cacbb0f970d4543df77c1c\"\u003e\u003ccode\u003ee910764\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/ec3f1c7bd74495992bc6954323a1a7fc8368808e\"\u003e\u003ccode\u003eec3f1c7\u003c/code\u003e\u003c/a\u003e Update typescript-eslint to v8.65.0 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/73d2efc2c6cba6f579585c88ef171132d90834ec\"\u003e\u003ccode\u003e73d2efc\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.7.0 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19664\"\u003e#19664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dd5e24eabeab1f75ad573c79781e5fd408bcfad3\"\u003e\u003ccode\u003edd5e24e\u003c/code\u003e\u003c/a\u003e Preserve quotes for \u003ccode\u003eTSMethodSignature\u003c/code\u003e nodes named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19621\"\u003e#19621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/c03ab4e71c23154d6b11537eee3c938f0d0f67d3\"\u003e\u003ccode\u003ec03ab4e\u003c/code\u003e\u003c/a\u003e Update dependency eslint-plugin-unicorn to v72 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19633\"\u003e#19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b74dd53076c7208291a6b2e585c310844b41d35f\"\u003e\u003ccode\u003eb74dd53\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.6.5 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19654\"\u003e#19654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f1b594ea1db1520c383d0e281d623551f671f824\"\u003e\u003ccode\u003ef1b594e\u003c/code\u003e\u003c/a\u003e Update dependency eslint-plugin-simple-import-sort to v14 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19655\"\u003e#19655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/0d9dfb61530986373000dd107ea58ceebb79e233\"\u003e\u003ccode\u003e0d9dfb6\u003c/code\u003e\u003c/a\u003e Update Yuku parser to v0.6.4 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19650\"\u003e#19650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/3bbb8159eb55575d4042653aa99f5f92a1416c19\"\u003e\u003ccode\u003e3bbb815\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003etypescript-only\u003c/code\u003e directory (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/19636\"\u003e#19636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.9.5...3.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/swagger` from 11.4.5 to 11.4.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/swagger/releases\"\u003e@​nestjs/swagger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 11.4.6\u003c/h2\u003e\n\u003ch2\u003e11.4.6 (2026-07-17)\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3964\"\u003e#3964\u003c/a\u003e feat(plugin): infer ApiParam enum from \u003ca href=\"https://github.com/Param\"\u003e\u003ccode\u003e@​Param\u003c/code\u003e\u003c/a\u003e literal-union types (\u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3947\"\u003e#3947\u003c/a\u003e fix(type-helpers): preserve array-ness for nested DTO arrays in DeepPartialType (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3945\"\u003e#3945\u003c/a\u003e fix(mimetype-content-wrapper): clone object per mimetype to avoid shared references (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3972\"\u003e#3972\u003c/a\u003e fix: avoid inline PickType schema collisions (\u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3969\"\u003e#3969\u003c/a\u003e fix: Added missing summary type to the response object (\u003ca href=\"https://github.com/MichielDeMey\"\u003e\u003ccode\u003e@​MichielDeMey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3949\"\u003e#3949\u003c/a\u003e feat(api-query): support custom OpenAPI extensions (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/3986\"\u003e#3986\u003c/a\u003e fix(deps): update dependency js-yaml to v5 (\u003ca href=\"https://github.com/apps/renovate\"\u003e\u003ccode\u003e@​renovate[bot]\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 4\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eMichiel De Mey (\u003ca href=\"https://github.com/MichielDeMey\"\u003e\u003ccode\u003e@​MichielDeMey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRayan Salhab (\u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYogeshwaran C (\u003ca href=\"https://github.com/yogeshwaran-c\"\u003e\u003ccode\u003e@​yogeshwaran-c\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYukihiro Hasegawa (\u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/aec1a2236c07a012500a30662443515c5c40185f\"\u003e\u003ccode\u003eaec1a22\u003c/code\u003e\u003c/a\u003e chore(): release v11.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/f9eec4f9a8e0ed43213577738f03edd89f1614e7\"\u003e\u003ccode\u003ef9eec4f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3986\"\u003e#3986\u003c/a\u003e from nestjs/renovate/js-yaml-5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/b6b6eafca5a13e4e827f68b961bb234dee46591a\"\u003e\u003ccode\u003eb6b6eaf\u003c/code\u003e\u003c/a\u003e chore(deps): support fastify/static v10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/e8912463d55aab2e069d5fea4e7934954e8d7130\"\u003e\u003ccode\u003ee891246\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3949\"\u003e#3949\u003c/a\u003e from yogeshwaran-c/feat/api-query-extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/c8608cfb532e7a7df727a1cf4e57735366d8d92e\"\u003e\u003ccode\u003ec8608cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3947\"\u003e#3947\u003c/a\u003e from yogeshwaran-c/fix/deep-partial-type-array-of-dto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/1f55cc15ae3965e19e9415f688dc0ede3694c641\"\u003e\u003ccode\u003e1f55cc1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/3946\"\u003e#3946\u003c/a\u003e from yogeshwaran-c/fix/swagger-html-dollar-substitution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/76b72028200b5f077de7d19f7f87a25e99d3b7ee\"\u003e\u003ccode\u003e76b7202\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4013\"\u003e#4013\u003c/a\u003e from nestjs/renovate/fastify-compress-9.x-lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/f60c7382b6a436504f5fe891a15df7c0b889e8b5\"\u003e\u003ccode\u003ef60c738\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4012\"\u003e#4012\u003c/a\u003e from nestjs/renovate/vite-8.x-lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/e8e0eabad47ccb52ae70c92ffae5dcef9598f656\"\u003e\u003ccode\u003ee8e0eab\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency js-yaml to v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/880a39e812e404f4033afad85eef79732e715553\"\u003e\u003ccode\u003e880a39e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​fastify/compress\u003c/code\u003e to v9.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/swagger/compare/11.4.5...11.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/adapter-pg` from 7.8.0 to 7.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/adapter-pg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.9.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.9.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eTab completions for the Prisma CLI\u003c/h3\u003e\n\u003cp\u003eTyping out CLI commands from memory is now optional. Prisma ships \u003cstrong\u003eshell tab completions\u003c/strong\u003e for \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003ezsh\u003c/code\u003e, \u003ccode\u003efish\u003c/code\u003e, and PowerShell, covering commands, subcommands, options, flags, and even option values.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSetting it up.\u003c/strong\u003e Most projects run Prisma through a package manager, so completions are enabled through \u003ccode\u003e@bomb.sh/tab\u003c/code\u003e's package-manager integration — install it once, then source the completion for your package manager and shell:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# 1. Install @bomb.sh/tab globally\r\nnpm install -g @bomb.sh/tab\r\n\u003ch1\u003e2. Wire up your package manager + shell (pnpm shown; swap in npm / yarn / bun):\u003c/h1\u003e\n\u003cp\u003eecho 'source \u0026lt;(tab pnpm zsh)'  \u0026gt;\u0026gt; ~/.zshrc            # zsh\u003cbr /\u003e\necho 'source \u0026lt;(tab pnpm bash)' \u0026gt;\u0026gt; ~/.bashrc           # bash\u003cbr /\u003e\ntab pnpm fish \u0026gt; ~/.config/fish/completions/pnpm.fish  # fish\u003cbr /\u003e\ntab pnpm powershell \u0026gt; ~/.tab-pnpm.ps1                 # PowerShell (then dot-source it from $PROFILE)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e delegates to any locally-installed CLI that ships completions, so \u003ccode\u003epnpm prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003epnpm exec prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003eyarn prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, and \u003ccode\u003ebun x prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e all complete Prisma's commands, options, and values — no per-project setup. (\u003ccode\u003enpx\u003c/code\u003e and \u003ccode\u003ebunx\u003c/code\u003e don't support completion themselves; use \u003ccode\u003enpm exec\u003c/code\u003e and \u003ccode\u003ebun x\u003c/code\u003e.)\u003c/p\u003e\n\u003cp\u003eIf instead you have Prisma installed globally on your \u003ccode\u003ePATH\u003c/code\u003e, source its own completion directly: \u003ccode\u003esource \u0026lt;(prisma complete zsh)\u003c/code\u003e (or the \u003ccode\u003ebash\u003c/code\u003e / \u003ccode\u003efish\u003c/code\u003e / \u003ccode\u003epowershell\u003c/code\u003e variant).\u003c/p\u003e\n\u003cp\u003eThis is built on \u003ca href=\"https://github.com/bombshell-dev/tab/\"\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e\u003c/a\u003e, the same completion library that powers other CLIs in the ecosystem — including Cloudflare, Nuxt, and Vitest — so the package-manager completions you enable for Prisma work for those tools too. A wonderful community contribution from \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/28351\"\u003e#28351\u003c/a\u003e) — thank you!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\"\u003ehttps://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003ePrisma ORM, ready for AI agents\u003c/h3\u003e\n\u003cp\u003eCoding agents are now a first-class audience for Prisma, and 7.9.0 brings the first wave of work to make Prisma projects safe and productive for them to work in.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills installed with \u003ccode\u003eprisma init\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29689\"\u003e#29689\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprisma init\u003c/code\u003e now installs the \u003ca href=\"https://github.com/prisma/skills\"\u003eprisma/skills\u003c/a\u003e catalog into freshly scaffolded projects. Agents such as Claude Code, Cursor, Codex, and Windsurf start out with current, version-relevant Prisma knowledge instead of relying on whatever happened to be in their training data. The install is best-effort and never blocks scaffolding; opt out at any time with \u003ccode\u003e--no-skills\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest init\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/8244a6dc-cdad-4028-a652-bb5ac6e4b271\" alt=\"prisma init scaffolds a project and installs the Prisma agent skills catalog\" /\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eA safer default around destructive commands\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29684\"\u003e#29684\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29691\"\u003e#29691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29713\"\u003e#29713\u003c/a\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/prisma/prisma/commit/35003fd86c574741cb5d93a57b773ee33015a79c\"\u003e\u003ccode\u003e35003fd\u003c/code\u003e\u003c/a\u003e chore(adapter-pg): remove duplicate values parameter (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29650\"\u003e#29650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/d6d9fc9ed341946d45c7d0aba35081a7bd741aa1\"\u003e\u003ccode\u003ed6d9fc9\u003c/code\u003e\u003c/a\u003e chore: remove parameterization from sqlcommenter-query-insights (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg/issues/29518\"\u003e#29518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.9.0/packages/adapter-pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 7.8.0 to 7.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e@​prisma/client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.9.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.9.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003eTab completions for the Prisma CLI\u003c/h3\u003e\n\u003cp\u003eTyping out CLI commands from memory is now optional. Prisma ships \u003cstrong\u003eshell tab completions\u003c/strong\u003e for \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003ezsh\u003c/code\u003e, \u003ccode\u003efish\u003c/code\u003e, and PowerShell, covering commands, subcommands, options, flags, and even option values.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSetting it up.\u003c/strong\u003e Most projects run Prisma through a package manager, so completions are enabled through \u003ccode\u003e@bomb.sh/tab\u003c/code\u003e's package-manager integration — install it once, then source the completion for your package manager and shell:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# 1. Install @bomb.sh/tab globally\r\nnpm install -g @bomb.sh/tab\r\n\u003ch1\u003e2. Wire up your package manager + shell (pnpm shown; swap in npm / yarn / bun):\u003c/h1\u003e\n\u003cp\u003eecho 'source \u0026lt;(tab pnpm zsh)'  \u0026gt;\u0026gt; ~/.zshrc            # zsh\u003cbr /\u003e\necho 'source \u0026lt;(tab pnpm bash)' \u0026gt;\u0026gt; ~/.bashrc           # bash\u003cbr /\u003e\ntab pnpm fish \u0026gt; ~/.config/fish/completions/pnpm.fish  # fish\u003cbr /\u003e\ntab pnpm powershell \u0026gt; ~/.tab-pnpm.ps1                 # PowerShell (then dot-source it from $PROFILE)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e delegates to any locally-installed CLI that ships completions, so \u003ccode\u003epnpm prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003epnpm exec prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, \u003ccode\u003eyarn prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e, and \u003ccode\u003ebun x prisma \u0026lt;TAB\u0026gt;\u003c/code\u003e all complete Prisma's commands, options, and values — no per-project setup. (\u003ccode\u003enpx\u003c/code\u003e and \u003ccode\u003ebunx\u003c/code\u003e don't support completion themselves; use \u003ccode\u003enpm exec\u003c/code\u003e and \u003ccode\u003ebun x\u003c/code\u003e.)\u003c/p\u003e\n\u003cp\u003eIf instead you have Prisma installed globally on your \u003ccode\u003ePATH\u003c/code\u003e, source its own completion directly: \u003ccode\u003esource \u0026lt;(prisma complete zsh)\u003c/code\u003e (or the \u003ccode\u003ebash\u003c/code\u003e / \u003ccode\u003efish\u003c/code\u003e / \u003ccode\u003epowershell\u003c/code\u003e variant).\u003c/p\u003e\n\u003cp\u003eThis is built on \u003ca href=\"https://github.com/bombshell-dev/tab/\"\u003e\u003ccode\u003e@bomb.sh/tab\u003c/code\u003e\u003c/a\u003e, the same completion library that powers other CLIs in the ecosystem — including Cloudflare, Nuxt, and Vitest — so the package-manager completions you enable for Prisma work for those tools too. A wonderful community contribution from \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/28351\"\u003e#28351\u003c/a\u003e) — thank you!\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\"\u003ehttps://github.com/user-attachments/assets/1f916a60-ee4d-40be-bb7d-74035d48ca83\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003ePrisma ORM, ready for AI agents\u003c/h3\u003e\n\u003cp\u003eCoding agents are now a first-class audience for Prisma, and 7.9.0 brings the first wave of work to make Prisma projects safe and productive for them to work in.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills installed with \u003ccode\u003eprisma init\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29689\"\u003e#29689\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eprisma init\u003c/code\u003e now installs the \u003ca href=\"https://github.com/prisma/skills\"\u003eprisma/skills\u003c/a\u003e catalog into freshly scaffolded projects. Agents such as Claude Code, Cursor, Codex, and Windsurf start out with current, version-relevant Prisma knowledge instead of relying on whatever happened to be in their training data. The install is best-effort and never blocks scaffolding; opt out at any time with \u003ccode\u003e--no-skills\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest init\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/8244a6dc-cdad-4028-a652-bb5ac6e4b271\" alt=\"prisma init scaffolds a project and installs the Prisma agent skills catalog\" /\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eA safer default around destructive commands\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29684\"\u003e#29684\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29691\"\u003e#29691\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29713\"\u003e#29713\u003c/a\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/prisma/prisma/commit/b82985029d44349849dfbb4990bb19278178ee61\"\u003e\u003ccode\u003eb829850\u003c/code\u003e\u003c/a\u003e ci: upgrade pnpm to 11 to restore pnpm audit (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29725\"\u003e#29725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/280fd56f28c53f42fb2dfbc190c3d35d046e19fa\"\u003e\u003ccode\u003e280fd56\u003c/code\u003e\u003c/a\u003e fix(client): mask each quoted string in maskQuery independently (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29723\"\u003e#29723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/4da377494cc27bc0784d3629df21e94989abd153\"\u003e\u003ccode\u003e4da3774\u003c/code\u003e\u003c/a\u003e fix(client): reject invalid raw dates (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29697\"\u003e#29697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/a7cec97b204e734cf30049ee7a39c9b61da085de\"\u003e\u003ccode\u003ea7cec97\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.9.0-1.e922089b7d7502aff4249d5da3420f6fa55fc6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/58f8439d020d70bf7cc9a77cca62dfc95d9ddc0f\"\u003e\u003ccode\u003e58f8439\u003c/code\u003e\u003c/a\u003e fix(client): pin pg-protocol in prisma-client-imports-postgres e2e test (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29687\"\u003e#29687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/918cf5d72c1ba85ed0bb85c50c34d483b02a19e1\"\u003e\u003ccode\u003e918cf5d\u003c/code\u003e\u003c/a\u003e fix(client): improve adapter-related Prisma 7 error messages (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29624\"\u003e#29624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/93da6ea2dcd65b8b4b9d58daf2e2821f1a4e9320\"\u003e\u003ccode\u003e93da6ea\u003c/code\u003e\u003c/a\u003e ci(e2e): shard client e2e suite across 3 jobs to fix chronic timeouts (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29619\"\u003e#29619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/3937779e617c743966ebb50901d013167dd9171e\"\u003e\u003ccode\u003e3937779\u003c/code\u003e\u003c/a\u003e fix: remove duplicate 'the the' in test comments (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29610\"\u003e#29610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/fda8fbce23b3af6b1651bd539da09e62c863ed6e\"\u003e\u003ccode\u003efda8fbc\u003c/code\u003e\u003c/a\u003e chore(deps): bump \u003ccode\u003e@​prisma/dev\u003c/code\u003e to 0.24.9 (resolves hono GHSA-92pp-h63x-v22m) (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/0036baf8c9bb0b53e18c04fb27de4acf0535a306\"\u003e\u003ccode\u003e0036baf\u003c/code\u003e\u003c/a\u003e fix(client-engine-runtime): surface unmapped driver errors as user-facing P20...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prisma/prisma/commits/7.9.0/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `argon2` from 0.44.0 to 0.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ranisalt/node-argon2/releases\"\u003eargon2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.45.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eDrops support for Node 18 and 20 (probably still works, but isn't tested)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd comparison with node:crypto and clarify parameter usage in README.md by \u003ca href=\"https://github.com/cbodin\"\u003e\u003ccode\u003e@​cbodin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/491\"\u003eranisalt/node-argon2#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compilation on solaris by \u003ca href=\"https://github.com/matt-fidd\"\u003e\u003ccode\u003e@​matt-fidd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/538\"\u003eranisalt/node-argon2#538\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/cbodin\"\u003e\u003ccode\u003e@​cbodin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/491\"\u003eranisalt/node-argon2#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matt-fidd\"\u003e\u003ccode\u003e@​matt-fidd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/pull/538\"\u003eranisalt/node-argon2#538\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\"\u003ehttps://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/e2fe33fedb6811d0d038872c506811f164d11442\"\u003e\u003ccode\u003ee2fe33f\u003c/code\u003e\u003c/a\u003e fix: update Node.js version to latest in publish job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/e27980fce91c0cda602e4e96f2bab0a74a372a76\"\u003e\u003ccode\u003ee27980f\u003c/code\u003e\u003c/a\u003e fix: revert sync to default in freebsd test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/3d0a0b41372fffedfe655f287b69568ecd8498ff\"\u003e\u003ccode\u003e3d0a0b4\u003c/code\u003e\u003c/a\u003e fix: change npm publish to npm stage publish in release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/c61513fffe7dd5a7587bd19181f7aa689482c16e\"\u003e\u003ccode\u003ec61513f\u003c/code\u003e\u003c/a\u003e chore: update actions versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/2bc07331b01c3647db7f55be4a754fb9f4e01d97\"\u003e\u003ccode\u003e2bc0733\u003c/code\u003e\u003c/a\u003e fix: revert sync to default in freebsd build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/b0123794be320b2af3c142ecd9bf6dd3e1c91d64\"\u003e\u003ccode\u003eb012379\u003c/code\u003e\u003c/a\u003e chore: update dependencies and devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/d2edf4e95a8add001b374670a7a00bb1355b8ee6\"\u003e\u003ccode\u003ed2edf4e\u003c/code\u003e\u003c/a\u003e fix(tests): add unicode flag to regex assertions in option tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/0eb1db16644dcbe2fc962ce2c50f2abff535a269\"\u003e\u003ccode\u003e0eb1db1\u003c/code\u003e\u003c/a\u003e Apply npm fixes to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/a09b94ed9586143114fe60f5cb09fc7d2e567c77\"\u003e\u003ccode\u003ea09b94e\u003c/code\u003e\u003c/a\u003e Fix compilation on solaris (\u003ca href=\"https://redirect.github.com/ranisalt/node-argon2/issues/538\"\u003e#538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ranisalt/node-argon2/commit/60e11efeab37cf8c74eda8e4d0949ca2b3f98943\"\u003e\u003ccode\u003e60e11ef\u003c/code\u003e\u003c/a\u003e chore(workflows): update actions/checkout, actions/setup-node, actions/upload...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ranisalt/node-argon2/compare/v0.44.0...v0.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for argon2 since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint/js` from 9.39.5 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003e@​eslint/js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\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/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1e2cad5f6fa47ed6ed89d2a29798dda926d50990\"\u003e\u003ccode\u003e1e2cad5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint/eslint/commits/v10.0.1/packages/js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 24.10.13 to 26.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/pg` from 8.18.0 to 8.20.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/supertest` from 7.2.0 to 7.2.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/supertest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.2 to 10.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.7.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/cf2a9bf2d982642f760370c15f1196f4658f4e27\"\u003e\u003ccode\u003ecf2a9bf\u003c/code\u003e\u003c/a\u003e feat: add errorClassNames option to preserve-caught-error rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21032\"\u003e#21032\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f8b873aae53610b80b5c1005606716e05ed3b91f\"\u003e\u003ccode\u003ef8b873a\u003c/code\u003e\u003c/a\u003e feat: max-nested-callbacks option for constructor callbacks (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21063\"\u003e#21063\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/557fde8bc633d26ea4fe287d4483f287e8e6080f\"\u003e\u003ccode\u003e557fde8\u003c/code\u003e\u003c/a\u003e feat: support computed \u003ccode\u003eNumber.parseInt\u003c/code\u003e member access in \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21041\"\u003e#21041\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b4a73b65808f5a8fd192f15db2bf5e47002b9f7\"\u003e\u003ccode\u003e0b4a73b\u003c/code\u003e\u003c/a\u003e feat: add suggestions to no-compare-neg-zero (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21034\"\u003e#21034\u003c/a\u003e) (den$)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96cdd427db5f26c6403fba92b0f7ae4556c595ec\"\u003e\u003ccode\u003e96cdd42\u003c/code\u003e\u003c/a\u003e feat: report invalid signed numeric radix values in \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21030\"\u003e#21030\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3e7bf15e69e6d3a2c8832356bcc2e9903cc4eede\"\u003e\u003ccode\u003e3e7bf15\u003c/code\u003e\u003c/a\u003e fix: apply \u003ccode\u003eignoreClassesWithImplements\u003c/code\u003e to class expressions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21069\"\u003e#21069\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0d7d70cf013ec5bf1e4f5a0fcf7128bdf059b2d4\"\u003e\u003ccode\u003e0d7d70c\u003c/code\u003e\u003c/a\u003e fix: insert cause outside wrapping parens in preserve-caught-error (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21062\"\u003e#21062\u003c/a\u003e) (Mahin Anowar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/75ec753226010867270787b412f3dae412e421e6\"\u003e\u003ccode\u003e75ec753\u003c/code\u003e\u003c/a\u003e fix: handle static template literals in \u003ccode\u003eeqeqeq\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21058\"\u003e#21058\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b717a22e2408389a2ad40af66543e46390669eb6\"\u003e\u003ccode\u003eb717a22\u003c/code\u003e\u003c/a\u003e fix: prevent \u003ccode\u003eeqeqeq\u003c/code\u003e null option from reporting non-equality operators (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21057\"\u003e#21057\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e35b05f1961dcd691611bd68b6ff8a87072d6f76\"\u003e\u003ccode\u003ee35b05f\u003c/code\u003e\u003c/a\u003e fix: avoid \u003ccode\u003eno-invalid-regexp\u003c/code\u003e false positive for shadowed RegExp (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21051\"\u003e#21051\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a3172b69c7db63ea0321355543e3f527c7d8b76a\"\u003e\u003ccode\u003ea3172b6\u003c/code\u003e\u003c/a\u003e fix: avoid \u003ccode\u003eno-control-regex\u003c/code\u003e false positive for shadowed RegExp (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21050\"\u003e#21050\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d1f637eca27e523d613991c6bea5b8726b810e4c\"\u003e\u003ccode\u003ed1f637e\u003c/code\u003e\u003c/a\u003e fix: parenthesize sequence expression operands in no-implicit-coercion (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21045\"\u003e#21045\u003c/a\u003e) (spokodev)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8859bafb018e2b23b5110d52e491b69b94ad890a\"\u003e\u003ccode\u003e8859baf\u003c/code\u003e\u003c/a\u003e fix: avoid prefer-numeric-literals false positive for shadowed globals (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21047\"\u003e#21047\u003c/a\u003e) (한국)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9e5961050676ef29dba9649dfcd7233d21760c7\"\u003e\u003ccode\u003ea9e5961\u003c/code\u003e\u003c/a\u003e fix: use-isnan false positive on shadowed NaN/Number (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20958\"\u003e#20958\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8a240a76108f30f2476e61a925e4d32d378cce5e\"\u003e\u003ccode\u003e8a240a7\u003c/code\u003e\u003c/a\u003e fix: avoid false positives in \u003ccode\u003eradix\u003c/code\u003e rule for spread arguments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21044\"\u003e#21044\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c30d80801ca561bdf65c6c3eba4ee57dced278cf\"\u003e\u003ccode\u003ec30d808\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5139800b23e77fdd1a76664e1b36f478942eae55\"\u003e\u003ccode\u003e5139800\u003c/code\u003e\u003c/a\u003e docs: document ESLint migration codemods in v9 and v10 guides (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20980\"\u003e#20980\u003c/a\u003e) (Alex Bit)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04174cbfaac1f9555400b5332d69056e6aab9cc6\"\u003e\u003ccode\u003e04174cb\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/026e1304080512bcddfd2af3557fff86474ff949\"\u003e\u003ccode\u003e026e130\u003c/code\u003e\u003c/a\u003e docs: update semver policy for bug fixes (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21048\"\u003e#21048\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9d42fefb0e05ecd0b256c2ebed479fc868862f0c\"\u003e\u003ccode\u003e9d42fef\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b23015955c8d6e6516076190730f538c86927f26\"\u003e\u003ccode\u003eb230159\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0129972ba122e95bece6040fda44d20f6799246a\"\u003e\u003ccode\u003e0129972\u003c/code\u003e\u003c/a\u003e docs: correct \u003ccode\u003e**/.js\u003c/code\u003e glob to \u003ccode\u003e**/*.js\u003c/code\u003e in config files guide (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21036\"\u003e#21036\u003c/a\u003e) (EduardF1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/948937986f2aa3cccb27a4c80694a85e5b0a5f64\"\u003e\u003ccode\u003e9489379\u003c/code\u003e\u003c/a\u003e chore: update dependency \u003ccode\u003e@​eslint/eslintrc\u003c/code\u003e to ^3.3.6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21076\"\u003e#21076\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/81a4774a928211bd0c01a06a1517736ece594522\"\u003e\u003ccode\u003e81a4774\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.5 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/983541491393323d17717683f6a2e6dbef4bc3f4\"\u003e\u003ccode\u003e9835414\u003c/code\u003e\u003c/a\u003e chore: enable \u003ccode\u003e$ExpectType\u003c/code\u003e annotations in all TypeScript files (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21071\"\u003e#21071\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/72adf6bd214c142b38aabb4b8f6f908079c5301a\"\u003e\u003ccode\u003e72adf6b\u003c/code\u003e\u003c/a\u003e chore: restrict \u003ccode\u003emarkdownlint-cli2\u003c/code\u003e updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21067\"\u003e#21067\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/833ec10fd702644e94334edd3cd2aa313174a958\"\u003e\u003ccode\u003e833ec10\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.4 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21061\"\u003e#21061\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7ea106ddcb6af7db8f36d62a28dbaba94d33598e\"\u003e\u003ccode\u003e7ea106d\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21059\"\u003e#21059\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8fb550e7c257fbdc4108fc8e63db43c1d914d472\"\u003e\u003ccode\u003e8fb550e\u003c/code\u003e\u003c/a\u003e chore: add prettier update commit to \u003ccode\u003e.git-blame-ignore-revs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21056\"\u003e#21056\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e4e11668ead6b950328c71e894563a13ef72bf84\"\u003e\u003ccode\u003ee4e1166\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21055\"\u003e#21055\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0493f53f3fcec4ed69a1808dffa153dcff1380d3\"\u003e\u003ccode\u003e0493f53\u003c/code\u003e\u003c/a\u003e chore: update prettier to v3.9.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21054\"\u003e#21054\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1056a996c657b377dc16a58c28890d2940394408\"\u003e\u003ccode\u003e1056a99\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.8.5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21049\"\u003e#21049\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4d4155df4a21d711e8dd21a467de085e770bad35\"\u003e\u003ccode\u003e4d4155d\u003c/code\u003e\u003c/a\u003e ci: run ecosystem tests on pull requests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21027\"\u003e#21027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/993539fd45d3d01aad3fbc13963e2245fdf7ee0d\"\u003e\u003ccode\u003e993539f\u003c/code\u003e\u003c/a\u003e chore: update dependency \u003ccode\u003e@​eslint/json\u003c/code\u003e to ^2.0.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21042\"\u003e#21042\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/53f8b69c15af7398c989071ee4788b88edd48bdd\"\u003e\u003ccode\u003e53f8b69\u003c/code\u003e\u003c/a\u003e test: add error locations to \u003ccode\u003eno-constant-binary-expression\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21039\"\u003e#21039\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5ab71d52f9d860df04e626fcd819a36257f21f9e\"\u003e\u003ccode\u003e5ab71d5\u003c/code\u003e\u003c/a\u003e refactor: clean up radix rule internals (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21015\"\u003e#21015\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a80a9a461478838930c5545f840473840b26b0e6\"\u003e\u003ccode\u003ea80a9a4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21035\"\u003e#21035\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7c9a02933cf1c231237babb8a7a32150ab72e263\"\u003e\u003ccode\u003e7c9a029\u003c/code\u003e\u003c/a\u003e ci: add Node.js 26 to CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20847\"\u003e#20847\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.6.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b1f910628e29a018c860e2...\n\n_Description has been truncated_","html_url":"https://github.com/matheusbecker00/OdontoGest/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusbecker00%2FOdontoGest/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"21.2.17","new_version":"21.2.18","update_type":"patch","path":"/src/ChangeMe.Frontend","pr_created_at":"2026-07-20T19:06:50.000Z","version_change":"21.2.17 → 21.2.18","issue":{"uuid":"4932177526","node_id":"PR_kwDOO0NnF870Ani9","number":77,"state":"closed","title":"chore(deps): bump the angular group in /src/ChangeMe.Frontend with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-20T19:23:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-20T19:06:50.000Z","updated_at":"2026-07-20T19:23:19.000Z","time_to_close":981,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"angular","update_count":9,"packages":[{"name":"@angular/common","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.16","new_version":"21.2.19","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.16","new_version":"21.2.19","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.17","new_version":"21.2.18","repository_url":"https://github.com/angular/angular"}],"path":"/src/ChangeMe.Frontend","ecosystem":"npm"},"body":"Bumps the angular group in /src/ChangeMe.Frontend with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.17` | `21.2.18` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.17` | `21.2.18` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.17` | `21.2.18` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.17` | `21.2.18` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.17` | `21.2.18` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.17` | `21.2.18` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.16` | `21.2.19` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.16` | `21.2.19` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.17` | `21.2.18` |\n\nUpdates `@angular/common` from 21.2.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003ccode\u003e91df739\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003ccode\u003e5a693ba\u003c/code\u003e\u003c/a\u003e fix(core): reject dynamic script host elements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003ccode\u003e6bcce11\u003c/code\u003e\u003c/a\u003e fix(core): avoid caching missing locale data\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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.18/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.17 to 21.2.18\n\u003cdetails\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.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.18 (2026-07-08)\u003c/h1\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e8d22cc953b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e6bcce117fb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e5a693bafcd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e91df739b80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e1804f73bec\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003ee86c31bf26\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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\u003e22.1.0-next.5 (2026-07-08)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e\"\u003eaf5e4e1131\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdd an error for --global-foo cases (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee\"\u003ed579ecaf73\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eDisable '--global-' error outside of g3 (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb\"\u003ef98547675c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eNamespace CSS variables to the app (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d\"\u003e8c8b2f7783\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eSupport css var namespacing in properties (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68846\"\u003e#68846\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/997b772f28f92de64b416263bb6dc02dc9e7598d\"\u003e997b772f28\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse regular optional chaining expression for safe function calls in TCBs\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/eb2a8ff63f858110c6c77289f3c0150e49216624\"\u003eeb2a8ff63f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eapply debugName transform to required signal queries\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eac363e92e00d26137a93d91ab3e2127f3519b1d\"\u003eeac363e92e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edetect uninvoked signals in bound expressions using ternary\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717\"\u003eeab4847a8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eAdds deep linking from Performance panel to DevTools\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/953cdfd66a08e0234f7db80ba7ecaab5e3067c62\"\u003e953cdfd66a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow multiple async validators\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms/signals\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b542302a23c74a131ebcef064cc73d8693c696a1\"\u003eb542302a23\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emake extractValue reactive for compat AbstractControl values\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\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.18/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.16 to 21.2.19\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.19\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\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/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003e\u003cimg src=\"https://img.shields.io/badge/df5429871-fix-green\" alt=\"fix - df5429871\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.18\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/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e\u003cimg src=\"https://img.shields.io/badge/61a810ab6-fix-green\" alt=\"fix - 61a810ab6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/a2b6116eddc7a71e4539817da623221ca552a35f\"\u003e\u003cimg src=\"https://img.shields.io/badge/a2b6116ed-fix-green\" alt=\"fix - a2b6116ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump undici to 7.28.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2510ee3c9aefdab5428938e78b9cfcea0ada1c45\"\u003e\u003cimg src=\"https://img.shields.io/badge/2510ee3c9-fix-green\" alt=\"fix - 2510ee3c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump vite to 7.3.6\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.17\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/9c366e8be42495d1bf90033788b3beae77e5fc28\"\u003e\u003cimg src=\"https://img.shields.io/badge/9c366e8be-fix-green\" alt=\"fix - 9c366e8be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump \u003ccode\u003e@​babel/core\u003c/code\u003e to 7.29.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6a06ce9e9847b4ddd66b94b9ea4c6fbbfc28d066\"\u003e\u003cimg src=\"https://img.shields.io/badge/6a06ce9e9-fix-green\" alt=\"fix - 6a06ce9e9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump esbuild to 0.28.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/637b84877334de5acc6fcbe1ba4d62c7a6da420b\"\u003e\u003cimg src=\"https://img.shields.io/badge/637b84877-fix-green\" alt=\"fix - 637b84877\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump piscina to 5.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e86d58a128725eee9dd63dcd2ccd35b8ee4706f3\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86d58a12-fix-green\" alt=\"fix - e86d58a12\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump vite to 7.3.5\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.19 (2026-07-09)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003edf5429871\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.32 (2026-07-09)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/d4e07cb3e3f871822f9bf37fdea35814ec1cdb80\"\u003ed4e07cb3e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.3 (2026-07-09)\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/34d558c3c98e1b59a2c2808fc04bfbb63dfe8acf\"\u003e34d558c3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd built-in SQLite cache store fallback\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/52ae7f862a581cac97d5a9b33c9b71b830d95b19\"\u003e52ae7f862\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eshare persistent build cache across git worktrees\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/41bd100dd8edebdf6c7279e1c7d3847ee5f22702\"\u003e41bd100dd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003efallback to build target preserveSymlinks option in karma runner\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6d9b360e5f2b7ab3d4ace4db35f674166630f658\"\u003e6d9b360e5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent esbuild service hang on internal component stylesheet builds\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/85c53d9909b8bcb35a360044a0afde5352d45d72\"\u003e85c53d990\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent externalizing builder-injected i18n locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/004cc410487b2dbb80001f045cd19f899c980ccc\"\u003e004cc4104\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip all vite id prefixes from minified code with external dependencies\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/09d0a11a8b832f156aea100ad3497c5221fc0f50\"\u003e09d0a11a8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eenable fast-path AST printing with sourcemaps in AotCompilation\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\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\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/0bd22dae09a83e36ed3863ca2b050666cc8d7aec\"\u003e0bd22dae0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereplace all route parameters when resolving relative redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.6 (2026-07-08)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1a728258d62e716cf102ac4b387284caf3b6cff8\"\u003e\u003ccode\u003e1a72825\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.19 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003e\u003ccode\u003edf54298\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): update http-proxy-middleware to 3.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fe3a606f9f7e29b9e44e0b552fe82027405150c1\"\u003e\u003ccode\u003efe3a606\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.18 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2510ee3c9aefdab5428938e78b9cfcea0ada1c45\"\u003e\u003ccode\u003e2510ee3\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump vite to 7.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e\u003ccode\u003e61a810a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): respect release age policy in update bootstrapping logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a2b6116eddc7a71e4539817da623221ca552a35f\"\u003e\u003ccode\u003ea2b6116\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump undici to 7.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9c1edbc8527245b6dadacad2482f86964c454b62\"\u003e\u003ccode\u003e9c1edbc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.17 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/637b84877334de5acc6fcbe1ba4d62c7a6da420b\"\u003e\u003ccode\u003e637b848\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump piscina to 5.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9c366e8be42495d1bf90033788b3beae77e5fc28\"\u003e\u003ccode\u003e9c366e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump \u003ccode\u003e@​babel/core\u003c/code\u003e to 7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6a06ce9e9847b4ddd66b94b9ea4c6fbbfc28d066\"\u003e\u003ccode\u003e6a06ce9\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump esbuild to 0.28.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.16...v21.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 21.2.16 to 21.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.19\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\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/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003e\u003cimg src=\"https://img.shields.io/badge/df5429871-fix-green\" alt=\"fix - df5429871\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.18\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/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e\u003cimg src=\"https://img.shields.io/badge/61a810ab6-fix-green\" alt=\"fix - 61a810ab6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/a2b6116eddc7a71e4539817da623221ca552a35f\"\u003e\u003cimg src=\"https://img.shields.io/badge/a2b6116ed-fix-green\" alt=\"fix - a2b6116ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump undici to 7.28.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2510ee3c9aefdab5428938e78b9cfcea0ada1c45\"\u003e\u003cimg src=\"https://img.shields.io/badge/2510ee3c9-fix-green\" alt=\"fix - 2510ee3c9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump vite to 7.3.6\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.17\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/9c366e8be42495d1bf90033788b3beae77e5fc28\"\u003e\u003cimg src=\"https://img.shields.io/badge/9c366e8be-fix-green\" alt=\"fix - 9c366e8be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump \u003ccode\u003e@​babel/core\u003c/code\u003e to 7.29.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6a06ce9e9847b4ddd66b94b9ea4c6fbbfc28d066\"\u003e\u003cimg src=\"https://img.shields.io/badge/6a06ce9e9-fix-green\" alt=\"fix - 6a06ce9e9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump esbuild to 0.28.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/637b84877334de5acc6fcbe1ba4d62c7a6da420b\"\u003e\u003cimg src=\"https://img.shields.io/badge/637b84877-fix-green\" alt=\"fix - 637b84877\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump piscina to 5.2.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e86d58a128725eee9dd63dcd2ccd35b8ee4706f3\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86d58a12-fix-green\" alt=\"fix - e86d58a12\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebump vite to 7.3.5\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.19 (2026-07-09)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003edf5429871\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.32 (2026-07-09)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/d4e07cb3e3f871822f9bf37fdea35814ec1cdb80\"\u003ed4e07cb3e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate http-proxy-middleware to 3.0.7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.3 (2026-07-09)\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/34d558c3c98e1b59a2c2808fc04bfbb63dfe8acf\"\u003e34d558c3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd built-in SQLite cache store fallback\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/52ae7f862a581cac97d5a9b33c9b71b830d95b19\"\u003e52ae7f862\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eshare persistent build cache across git worktrees\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/41bd100dd8edebdf6c7279e1c7d3847ee5f22702\"\u003e41bd100dd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003efallback to build target preserveSymlinks option in karma runner\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6d9b360e5f2b7ab3d4ace4db35f674166630f658\"\u003e6d9b360e5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent esbuild service hang on internal component stylesheet builds\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/85c53d9909b8bcb35a360044a0afde5352d45d72\"\u003e85c53d990\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent externalizing builder-injected i18n locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/004cc410487b2dbb80001f045cd19f899c980ccc\"\u003e004cc4104\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip all vite id prefixes from minified code with external dependencies\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/09d0a11a8b832f156aea100ad3497c5221fc0f50\"\u003e09d0a11a8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eenable fast-path AST printing with sourcemaps in AotCompilation\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\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\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/0bd22dae09a83e36ed3863ca2b050666cc8d7aec\"\u003e0bd22dae0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereplace all route parameters when resolving relative redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.6 (2026-07-08)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1a728258d62e716cf102ac4b387284caf3b6cff8\"\u003e\u003ccode\u003e1a72825\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.19 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/df54298712bb84ec079787e4ca6c0164f6358cf1\"\u003e\u003ccode\u003edf54298\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): update http-proxy-middleware to 3.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fe3a606f9f7e29b9e44e0b552fe82027405150c1\"\u003e\u003ccode\u003efe3a606\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.18 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2510ee3c9aefdab5428938e78b9cfcea0ada1c45\"\u003e\u003ccode\u003e2510ee3\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump vite to 7.3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e\u003ccode\u003e61a810a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): respect release age policy in update bootstrapping logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a2b6116eddc7a71e4539817da623221ca552a35f\"\u003e\u003ccode\u003ea2b6116\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump undici to 7.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9c1edbc8527245b6dadacad2482f86964c454b62\"\u003e\u003ccode\u003e9c1edbc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.17 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/637b84877334de5acc6fcbe1ba4d62c7a6da420b\"\u003e\u003ccode\u003e637b848\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump piscina to 5.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9c366e8be42495d1bf90033788b3beae77e5fc28\"\u003e\u003ccode\u003e9c366e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump \u003ccode\u003e@​babel/core\u003c/code\u003e to 7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6a06ce9e9847b4ddd66b94b9ea4c6fbbfc28d066\"\u003e\u003ccode\u003e6a06ce9\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): bump esbuild to 0.28.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.16...v21.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 21.2.17 to 21.2.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.18\u003c/h2\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/8d22cc953bb9f970c6f86fb0f6e4d0665b874bfa\"\u003e\u003cimg src=\"https://img.shields.io/badge/8d22cc953b-fix-green\" alt=\"fix - 8d22cc953b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate babel dependencies to latest v7\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6bcce117fbc616e4e721f351e9e038202e916522\"\u003e\u003cimg src=\"https://img.shields.io/badge/6bcce117fb-fix-green\" alt=\"fix - 6bcce117fb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5a693bafcd49ef11ce687bd91a209e1a46652f42\"\u003e\u003cimg src=\"https://img.shields.io/badge/5a693bafcd-fix-green\" alt=\"fix - 5a693bafcd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject dynamic script host elements\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/91df739b8022e2177bcc7214ed9a4e94098a4831\"\u003e\u003cimg src=\"https://img.shields.io/badge/91df739b80-fix-green\" alt=\"fix - 91df739b80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/1804f73becf425b5b1ccee9751d6e3fbd10e1f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/1804f73bec-fix-green\" alt=\"fix - 1804f73bec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e86c31bf26359aacce814167506dbdae585a7eb8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e86c31bf26-fix-green\" alt=\"fix - e86c31bf26\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset 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.m...\n\n_Description has been truncated_","html_url":"https://github.com/damianlaczynski/ChangeMe/pull/77","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianlaczynski%2FChangeMe/issues/77","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/77/packages"}},{"old_version":"22.0.2","new_version":"22.0.4","update_type":"patch","path":null,"pr_created_at":"2026-07-01T10:59:54.000Z","version_change":"22.0.2 → 22.0.4","issue":{"uuid":"4784886496","node_id":"PR_kwDOQGzZCM7soxqZ","number":86,"state":"closed","title":"chore(deps): bump the npm-version-updates group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-15T10:55:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-01T10:59:54.000Z","updated_at":"2026-07-15T10:55:15.000Z","time_to_close":1209320,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-version-updates","update_count":23,"packages":[{"name":"@angular/common","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"zone.js","old_version":"0.15.1","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"22.0.4","new_version":"22.0.5","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.4","new_version":"22.0.5","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.2","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@commitlint/config-conventional","old_version":"20.5.3","new_version":"21.2.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@eslint/js","old_version":"9.39.4","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@tailwindcss/postcss","old_version":"4.3.1","new_version":"4.3.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/jasmine","old_version":"5.1.15","new_version":"6.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"22.20.0","new_version":"26.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint","old_version":"9.39.4","new_version":"10.6.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jasmine-core","old_version":"5.9.0","new_version":"6.3.0","repository_url":"https://github.com/jasmine/jasmine"},{"name":"karma-jasmine-html-reporter","old_version":"2.1.0","new_version":"2.2.0","repository_url":"https://github.com/dfederm/karma-jasmine-html-reporter"},{"name":"knip","old_version":"5.88.1","new_version":"6.23.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"postcss","old_version":"8.5.15","new_version":"8.5.16","repository_url":"https://github.com/postcss/postcss"},{"name":"prettier","old_version":"3.8.4","new_version":"3.9.4","repository_url":"https://github.com/prettier/prettier"},{"name":"typescript-eslint","old_version":"8.62.0","new_version":"8.62.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"globals","old_version":"16.5.0","new_version":"17.7.0","repository_url":"https://github.com/sindresorhus/globals"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-version-updates group with 22 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.2` | `22.0.4` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.2` | `22.0.4` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.2` | `22.0.4` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.2` | `22.0.4` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.2` | `22.0.4` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.15.1` | `0.16.2` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.4` | `22.0.5` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.4` | `22.0.5` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.2` | `22.0.4` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.5.3` | `21.2.0` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.4` | `10.0.1` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.3.1` | `4.3.2` |\n| [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) | `5.1.15` | `6.0.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.20.0` | `26.0.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.6.0` |\n| [jasmine-core](https://github.com/jasmine/jasmine) | `5.9.0` | `6.3.0` |\n| [karma-jasmine-html-reporter](https://github.com/dfederm/karma-jasmine-html-reporter) | `2.1.0` | `2.2.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `5.88.1` | `6.23.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.15` | `8.5.16` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.4` | `3.9.4` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.62.0` | `8.62.1` |\n| [globals](https://github.com/sindresorhus/globals) | `16.5.0` | `17.7.0` |\n\n\nUpdates `@angular/common` from 22.0.2 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cd8f472ab4b7d0565fd9c883feaa4be4fee730ef\"\u003e\u003ccode\u003ecd8f472\u003c/code\u003e\u003c/a\u003e docs: add documentation for HttpClient response body size limit and related e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003ccode\u003e8cdc202\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.2 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003ccode\u003ef4f7f37\u003c/code\u003e\u003c/a\u003e fix(compiler): remove unused import breaking CI in 22.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/489d1707d79fe91f1c23d905c4ce9f21cfd1ddf2\"\u003e\u003ccode\u003e489d170\u003c/code\u003e\u003c/a\u003e refactor(compiler): desable the legacy template syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39001be266e05d73e90a8acf01d47fcddbfab612\"\u003e\u003ccode\u003e39001be\u003c/code\u003e\u003c/a\u003e refactor(compiler): Move the attribute comment to the HTML AST\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.2 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/01d58d7ad7277ca1acc07186a7114167d65b02d6\"\u003e\u003ccode\u003e01d58d7\u003c/code\u003e\u003c/a\u003e refactor(core): Tree shake the \u003ccode\u003eSimpleChanges\u003c/code\u003e \u0026amp; co.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/03d1a6444a57ed654929c4b36c86cf797021c3c0\"\u003e\u003ccode\u003e03d1a64\u003c/code\u003e\u003c/a\u003e docs(core): document resource chaining with chain() in params context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003ccode\u003e2799304\u003c/code\u003e\u003c/a\u003e fix(core): avoid uncaught promise errors in injectAsync prefetching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7c83b0a30886ffc9ecb9f6d1f234debadce68d\"\u003e\u003ccode\u003e3e7c83b\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): escape overlapping comment delimiters in escapeCommentText\u0026quot;\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/core\"\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 22.0.2 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d536d7a8479f7360de822e8ec905a8d3a26efdd\"\u003e\u003ccode\u003e3d536d7\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f598dcfda0d2c13eca237b6a2ed7006361b0506a\"\u003e\u003ccode\u003ef598dcf\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05101\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.2 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\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/v22.0.4/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zone.js` from 0.15.1 to 0.16.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/packages/zone.js/CHANGELOG.md\"\u003ezone.js's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e0.16.2 (2026-05-06)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(zone.js): support vitest patching in zone.js/testing (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/68395\"\u003e#68395\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/62c6e3b\"\u003e62c6e3b\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/68395\"\u003e#68395\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/68395\"\u003e#68395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(zone.js): allow draining microtasks in \u003ccode\u003ePromise.then\u003c/code\u003e (through flag) (\u003ca href=\"https://github.com/angular/angular/commit/fc6a7ee\"\u003efc6a7ee\u003c/a\u003e), closes \u003ca href=\"https://github.com/angular/issues/45273\"\u003eangular#45273\u003c/a\u003e \u003ca href=\"https://github.com/angular/issues/44446\"\u003eangular#44446\u003c/a\u003e \u003ca href=\"https://github.com/angular/issues/55590\"\u003eangular#55590\u003c/a\u003e \u003ca href=\"https://github.com/angular/issues/51328\"\u003eangular#51328\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e0.16.1 (2026-02-18)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(zone.js): support passthrough of Promise.try API (\u003ca href=\"https://github.com/angular/angular/commit/fc557f0\"\u003efc557f0\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/67057\"\u003e#67057\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e0.16.0 (2025-11-19)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(zone.js): Support jasmine v6 (\u003ca href=\"https://github.com/angular/angular/commit/48abe00\"\u003e48abe00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(zone.js): waitForAsync should pass args to the test function (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/61755\"\u003e#61755\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/3c216c1\"\u003e3c216c1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/61755\"\u003e#61755\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/61717\"\u003e#61717\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/61755\"\u003e#61755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(zone.js): Add internal implementation for auto ticking fakeAsync (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/62135\"\u003e#62135\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/0a827f9\"\u003e0a827f9\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/62135\"\u003e#62135\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/62135\"\u003e#62135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(zone.js): Improve missing proxy zone error for jest imported (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/64497\"\u003e#64497\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/ced2fa5\"\u003eced2fa5\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/64497\"\u003e#64497\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/47603\"\u003e#47603\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/64497\"\u003e#64497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(zone.js): remove legacy browser support (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/63511\"\u003e#63511\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/2e46596\"\u003e2e46596\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/63511\"\u003e#63511\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/63511\"\u003e#63511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(zone.js): remove unused jasmine globalerror monkey patching. (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/63077\"\u003e#63077\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/9aef481\"\u003e9aef481\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/63077\"\u003e#63077\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/63072\"\u003e#63072\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/63077\"\u003e#63077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(zone.js): refactor tests to remove usage of shelljs (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/64042\"\u003e#64042\u003c/a\u003e) (\u003ca href=\"https://github.com/angular/angular/commit/422a3b9\"\u003e422a3b9\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/angular/angular/issues/64042\"\u003e#64042\u003c/a\u003e \u003ca href=\"https://redirect.github.com/angular/angular/issues/64042\"\u003e#64042\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGE\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIE/Non-Chromium Edge are not supported anymore.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e3dc87cbd8ceb3b0353033eedef95e931a087799\"\u003e\u003ccode\u003ee3dc87c\u003c/code\u003e\u003c/a\u003e release: cut the zone.js-0.16.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f048e7de3f01e66d05dcc7f0a53926343d5fb5f\"\u003e\u003ccode\u003e4f048e7\u003c/code\u003e\u003c/a\u003e build: update dependency typescript to v6.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9fa4be9d094fd79ccd56f0328d41aca637c57c14\"\u003e\u003ccode\u003e9fa4be9\u003c/code\u003e\u003c/a\u003e test(zone.js): vitest patch for testing (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/68395\"\u003e#68395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/62c6e3b7ee87babef8a4ff065a45a649cf422b4e\"\u003e\u003ccode\u003e62c6e3b\u003c/code\u003e\u003c/a\u003e feat(zone.js): support vitest patching in zone.js/testing (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/zone.js/issues/68395\"\u003e#68395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f3f3d7da1ed9f978fef5ac39f78dea292832b4c\"\u003e\u003ccode\u003e7f3f3d7\u003c/code\u003e\u003c/a\u003e ci: remove remainings of saucelabs tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/56ff89c92d1187d7a3f3aebe1beed7501b14acd5\"\u003e\u003ccode\u003e56ff89c\u003c/code\u003e\u003c/a\u003e build: update all non-major dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fc6a7eea682a76f03e85c4786aed3b02bdb06968\"\u003e\u003ccode\u003efc6a7ee\u003c/code\u003e\u003c/a\u003e fix(zone.js): allow draining microtasks in \u003ccode\u003ePromise.then\u003c/code\u003e (through flag)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0007723a0306f0829505347817a4f205ec4ffa38\"\u003e\u003ccode\u003e0007723\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/9ee4f83705364e7fe7522f86931126836507c6df\"\u003e\u003ccode\u003e9ee4f83\u003c/code\u003e\u003c/a\u003e build: update to TypeScript 6 stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/621c9083de2214952ca21f14d18e01199c25f0b6\"\u003e\u003ccode\u003e621c908\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/zone.js-0.16.2/packages/zone.js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/build` from 22.0.4 to 22.0.5\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\u003e22.0.5\u003c/h2\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\u003eDescription\u003c/th\u003e\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/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e\u003cimg src=\"https://img.shields.io/badge/862a38069-fix-green\" alt=\"fix - 862a38069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused app tsconfig outDir\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\u003eDescription\u003c/th\u003e\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/f099e641c96a5932d81535e712af7044269b4788\"\u003e\u003cimg src=\"https://img.shields.io/badge/f099e641c-fix-green\" alt=\"fix - f099e641c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003egracefully handle package manager errors in command handler\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf033ec48-fix-green\" alt=\"fix - cf033ec48\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\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/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003e\u003cimg src=\"https://img.shields.io/badge/f75085f4b-fix-green\" alt=\"fix - f75085f4b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent OS command injection in ssr-dev-server builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/dfee1e7b142d767c86eecb7791ed72bce65866c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfee1e7b1-fix-green\" alt=\"fix - dfee1e7b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eauto-inject localize/init in library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aba718403df7a96310570c1449674a49254cd4af\"\u003e\u003cimg src=\"https://img.shields.io/badge/aba718403-fix-green\" alt=\"fix - aba718403\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einherit preserveSymlinks option from build target in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c0d9f03c-fix-green\" alt=\"fix - 7c0d9f03c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eload zone.js dynamically for library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e\u003cimg src=\"https://img.shields.io/badge/4288e4452-fix-green\" alt=\"fix - 4288e4452\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope createRequire module resolution using paths to prevent parent paths\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/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e\u003cimg src=\"https://img.shields.io/badge/5f774f891-fix-green\" alt=\"fix - 5f774f891\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve response headers during redirect\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\u003e22.0.5 (2026-07-01)\u003c/h1\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/f099e641c96a5932d81535e712af7044269b4788\"\u003ef099e641c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003egracefully handle package manager errors in command handler\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003ecf033ec48\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e862a38069\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove unused app tsconfig outDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003ef75085f4b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent OS command injection in ssr-dev-server builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/dfee1e7b142d767c86eecb7791ed72bce65866c5\"\u003edfee1e7b1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eauto-inject localize/init in library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aba718403df7a96310570c1449674a49254cd4af\"\u003eaba718403\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einherit preserveSymlinks option from build target in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e7c0d9f03c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eload zone.js dynamically for library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e4288e4452\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003escope createRequire module resolution using paths to prevent parent paths\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\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\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/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e5f774f891\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve response headers during redirect\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.18 (2026-07-01)\u003c/h1\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/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e61a810ab6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\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-cli/commit/85a2698579cfe34087c35f6c4734f7e4a37145a3\"\u003e\u003ccode\u003e85a2698\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5c892ee7608391409cb17851c145604d1d8ded95\"\u003e\u003ccode\u003e5c892ee\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-cli/commit/7848e8d65c9b54e8be12e1d24823c09e2ef6b43b\"\u003e\u003ccode\u003e7848e8d\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e\u003ccode\u003e862a380\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​schematics/angular\u003c/code\u003e): remove unused app tsconfig outDir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e\u003ccode\u003e4288e44\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): scope createRequire module resolution using paths to pre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e\u003ccode\u003e5f774f8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): preserve response headers during redirect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e\u003ccode\u003e7c0d9f0\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): load zone.js dynamically for library unit tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003e\u003ccode\u003ef75085f\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): prevent OS command injection in ssr-dev-s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f099e641c96a5932d81535e712af7044269b4788\"\u003e\u003ccode\u003ef099e64\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): gracefully handle package manager errors in command handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003e\u003ccode\u003ecf033ec\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): respect release age policy in update bootstrapping logic\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v22.0.4...v22.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 22.0.4 to 22.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.5\u003c/h2\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\u003eDescription\u003c/th\u003e\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/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e\u003cimg src=\"https://img.shields.io/badge/862a38069-fix-green\" alt=\"fix - 862a38069\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused app tsconfig outDir\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\u003eDescription\u003c/th\u003e\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/f099e641c96a5932d81535e712af7044269b4788\"\u003e\u003cimg src=\"https://img.shields.io/badge/f099e641c-fix-green\" alt=\"fix - f099e641c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003egracefully handle package manager errors in command handler\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf033ec48-fix-green\" alt=\"fix - cf033ec48\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\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/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003e\u003cimg src=\"https://img.shields.io/badge/f75085f4b-fix-green\" alt=\"fix - f75085f4b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent OS command injection in ssr-dev-server builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/dfee1e7b142d767c86eecb7791ed72bce65866c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfee1e7b1-fix-green\" alt=\"fix - dfee1e7b1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eauto-inject localize/init in library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aba718403df7a96310570c1449674a49254cd4af\"\u003e\u003cimg src=\"https://img.shields.io/badge/aba718403-fix-green\" alt=\"fix - aba718403\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003einherit preserveSymlinks option from build target in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e\u003cimg src=\"https://img.shields.io/badge/7c0d9f03c-fix-green\" alt=\"fix - 7c0d9f03c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eload zone.js dynamically for library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e\u003cimg src=\"https://img.shields.io/badge/4288e4452-fix-green\" alt=\"fix - 4288e4452\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope createRequire module resolution using paths to prevent parent paths\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/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e\u003cimg src=\"https://img.shields.io/badge/5f774f891-fix-green\" alt=\"fix - 5f774f891\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve response headers during redirect\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.5 (2026-07-01)\u003c/h1\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/f099e641c96a5932d81535e712af7044269b4788\"\u003ef099e641c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003egracefully handle package manager errors in command handler\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf033ec48e2371655fbf6bcdb588c05aff2e6662\"\u003ecf033ec48\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/862a380697db60cee8cf83e8fe20641db2a6aae1\"\u003e862a38069\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove unused app tsconfig outDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-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/f75085f4b58ed61979a2901a4ef0353e56f22136\"\u003ef75085f4b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent OS command injection in ssr-dev-server builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/dfee1e7b142d767c86eecb7791ed72bce65866c5\"\u003edfee1e7b1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eauto-inject localize/init in library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aba718403df7a96310570c1449674a49254cd4af\"\u003eaba718403\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003einherit preserveSymlinks option from build target in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7c0d9f03c2ae82a90a48e51b2aee731a36dc2beb\"\u003e7c0d9f03c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eload zone.js dynamically for library unit tests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4288e44525e855f29f026276f518968b1b2697db\"\u003e4288e4452\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003escope createRequire module resolution using paths to prevent parent paths\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\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\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/5f774f891a086bf0a2ab6f86c24485425e99f16d\"\u003e5f774f891\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve response headers during redirect\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.18 (2026-07-01)\u003c/h1\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/61a810ab615d1a26fc69f9e48be7cc6555a9c430\"\u003e61a810ab6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erespect release age policy in update bootstrapping logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\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-cli/commit/85a2698579cfe34087c35f6c4734f7e4a37145a3\"\u003e\u003ccode\u003e85a2698\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5c892ee7608391409cb17851c145604d1d8ded95\"\u003e\u003ccode\u003e5c892ee\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-cli/commit/7848e8d65c9b54e8be12e1d24823c09e2ef6b43b\"\u003e\u003ccode\u003e7848e8d\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-...\n\n_Description has been truncated_","html_url":"https://github.com/zitadel/example-auth-angular/pull/86","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zitadel%2Fexample-auth-angular/issues/86","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/86/packages"}},{"old_version":"22.0.1","new_version":"22.0.2","update_type":"patch","path":null,"pr_created_at":"2026-07-01T09:35:16.000Z","version_change":"22.0.1 → 22.0.2","issue":{"uuid":"4784300319","node_id":"PR_kwDONDJI2c7sm2sQ","number":297,"state":"open","title":"chore(deps): bump the angular 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-07-01T09:35:16.000Z","updated_at":"2026-07-01T17:15:37.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":10,"packages":[{"name":"@angular/common","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"22.0.1","new_version":"22.0.4","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"22.0.1","new_version":"22.0.4","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"22.0.1","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.1` | `22.0.2` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.1` | `22.0.2` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.1` | `22.0.2` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.1` | `22.0.2` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.1` | `22.0.2` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.1` | `22.0.2` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `22.0.1` | `22.0.2` |\n| [@angular/build](https://github.com/angular/angular-cli) | `22.0.1` | `22.0.4` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `22.0.1` | `22.0.4` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.1` | `22.0.2` |\n\n\nUpdates `@angular/common` from 22.0.1 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427\"\u003e\u003ccode\u003ef309727\u003c/code\u003e\u003c/a\u003e refactor(compiler): Collect in-element comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4\"\u003e\u003ccode\u003e8bb3947\u003c/code\u003e\u003c/a\u003e refactor: optimize dom security schema lookups\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152601ed9429d127e31a9068db92aa4406cd0ced\"\u003e\u003ccode\u003e152601e\u003c/code\u003e\u003c/a\u003e refactor(core): add \u003ccode\u003echildSignalProp\u003c/code\u003e to \u003ccode\u003eReactiveNodeKind\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003ccode\u003e59dea13\u003c/code\u003e\u003c/a\u003e fix(core): guard against DOM clobbering in declareExperimentalWebMcpTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cb4570b2297d8af1a7287e2275758afc5b9acb\"\u003e\u003ccode\u003e81cb457\u003c/code\u003e\u003c/a\u003e refactor(router): Add handling for ActivatedRoute-scoped injector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003ccode\u003ef902d1d\u003c/code\u003e\u003c/a\u003e perf(core): detect existing signal dependency without checking all producer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003ccode\u003ee17e8d5\u003c/code\u003e\u003c/a\u003e fix(core): escape overlapping comment delimiters in escapeCommentText\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f1cfe30829bd33ff4778e45322de4e80f2fe9a9\"\u003e\u003ccode\u003e0f1cfe3\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003ccode\u003e93d0a5f\u003c/code\u003e\u003c/a\u003e fix(core): prevent unsubscribe during emit from throwing off other listeners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003ccode\u003e528a34f\u003c/code\u003e\u003c/a\u003e fix(core): avoid caching missing locale data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 22.0.1 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/t...\n\n_Description has been truncated_","html_url":"https://github.com/ArloL/angular-playground/pull/297","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArloL%2Fangular-playground/issues/297","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/297/packages"}},{"old_version":"21.2.11","new_version":"22.0.4","update_type":"major","path":null,"pr_created_at":"2026-07-01T02:19:04.000Z","version_change":"21.2.11 → 22.0.4","issue":{"uuid":"4781821013","node_id":"PR_kwDOLPl2kM7sexQn","number":281,"state":"closed","title":"deps(node): bump the angular group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-06T14:41:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-01T02:19:04.000Z","updated_at":"2026-07-06T14:41:23.000Z","time_to_close":476538,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(node): bump","group_name":"angular","update_count":11,"packages":[{"name":"@angular/common","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-server","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/ssr","old_version":"21.2.9","new_version":"22.0.4","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.9","new_version":"22.0.4","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.11","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 11 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` | `22.0.4` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.11` | `22.0.4` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.11` | `22.0.4` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.11` | `22.0.4` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.11` | `22.0.4` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.11` | `22.0.4` |\n| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `21.2.11` | `22.0.4` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.11` | `22.0.4` |\n| [@angular/ssr](https://github.com/angular/angular-cli) | `21.2.9` | `22.0.4` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.9` | `22.0.4` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.11` | `22.0.4` |\n\n\nUpdates `@angular/common` from 21.2.11 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cd8f472ab4b7d0565fd9c883feaa4be4fee730ef\"\u003e\u003ccode\u003ecd8f472\u003c/code\u003e\u003c/a\u003e docs: add documentation for HttpClient response body size limit and related e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003ccode\u003e8cdc202\u003c/code\u003e\u003c/a\u003e fix(http): prevent caching of responses with Set-Cookie headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003ccode\u003ef4f7f37\u003c/code\u003e\u003c/a\u003e fix(compiler): remove unused import breaking CI in 22.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/489d1707d79fe91f1c23d905c4ce9f21cfd1ddf2\"\u003e\u003ccode\u003e489d170\u003c/code\u003e\u003c/a\u003e refactor(compiler): desable the legacy template syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/39001be266e05d73e90a8acf01d47fcddbfab612\"\u003e\u003ccode\u003e39001be\u003c/code\u003e\u003c/a\u003e refactor(compiler): Move the attribute comment to the HTML AST\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427\"\u003e\u003ccode\u003ef309727\u003c/code\u003e\u003c/a\u003e refactor(compiler): Collect in-element comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4\"\u003e\u003ccode\u003e8bb3947\u003c/code\u003e\u003c/a\u003e refactor: optimize dom security schema lookups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4645850e24d2764313040b6711af93d3fd426825\"\u003e\u003ccode\u003e4645850\u003c/code\u003e\u003c/a\u003e refactor(compiler): Remove 80 char limit on AbstractEmitterVisitor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003ccode\u003ef90c20d\u003c/code\u003e\u003c/a\u003e fix(compiler): account for NgModule dependencies in JIT-compiled partial decl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/01d58d7ad7277ca1acc07186a7114167d65b02d6\"\u003e\u003ccode\u003e01d58d7\u003c/code\u003e\u003c/a\u003e refactor(core): Tree shake the \u003ccode\u003eSimpleChanges\u003c/code\u003e \u0026amp; co.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/03d1a6444a57ed654929c4b36c86cf797021c3c0\"\u003e\u003ccode\u003e03d1a64\u003c/code\u003e\u003c/a\u003e docs(core): document resource chaining with chain() in params context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003ccode\u003e2799304\u003c/code\u003e\u003c/a\u003e fix(core): avoid uncaught promise errors in injectAsync prefetching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3e7c83b0a30886ffc9ecb9f6d1f234debadce68d\"\u003e\u003ccode\u003e3e7c83b\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix(core): escape overlapping comment delimiters in escapeCommentText\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152601ed9429d127e31a9068db92aa4406cd0ced\"\u003e\u003ccode\u003e152601e\u003c/code\u003e\u003c/a\u003e refactor(core): add \u003ccode\u003echildSignalProp\u003c/code\u003e to \u003ccode\u003eReactiveNodeKind\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003ccode\u003e59dea13\u003c/code\u003e\u003c/a\u003e fix(core): guard against DOM clobbering in declareExperimentalWebMcpTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cb4570b2297d8af1a7287e2275758afc5b9acb\"\u003e\u003ccode\u003e81cb457\u003c/code\u003e\u003c/a\u003e refactor(router): Add handling for ActivatedRoute-scoped injector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003ccode\u003ef902d1d\u003c/code\u003e\u003c/a\u003e perf(core): detect existing signal dependency without checking all producer l...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2353bf22a52563fece26047820234ae013cdc931\"\u003e\u003ccode\u003e2353bf2\u003c/code\u003e\u003c/a\u003e refactor(forms): widen \u003ccode\u003eAsyncValidatorOptions.factory\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d2b613900cbfeb4780d4061155e2b1b6183128be\"\u003e\u003ccode\u003ed2b6139\u003c/code\u003e\u003c/a\u003e docs(forms): clarify debounce('blur') usage with custom FormValueControl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/59ee51e2d4adea02d25068b21980312164fd477d\"\u003e\u003ccode\u003e59ee51e\u003c/code\u003e\u003c/a\u003e docs(forms): update package docs for Signal Forms graduation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3f055435f6e2f5f9824bc8f70d061b284bea7c80\"\u003e\u003ccode\u003e3f05543\u003c/code\u003e\u003c/a\u003e refactor(forms): fix initWebMcpForm description to be required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003ccode\u003e11836a6\u003c/code\u003e\u003c/a\u003e fix(forms): delay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003ccode\u003ee51ad37\u003c/code\u003e\u003c/a\u003e fix(forms): remove animationstart listener on component destroy to prevent me...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003ccode\u003e85d2d10\u003c/code\u003e\u003c/a\u003e fix(forms): harden FormGroup control lookups against prototype shadowing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003ccode\u003ecdcea80\u003c/code\u003e\u003c/a\u003e fix(core): require WebMCP tool descriptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003ccode\u003e55b7b5a\u003c/code\u003e\u003c/a\u003e fix(forms): set \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e81c7e84669e06f70aff0ca80dc3792809afdbd3\"\u003e\u003ccode\u003ee81c7e8\u003c/code\u003e\u003c/a\u003e refactor(forms): type built-in getError results\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.3 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d536d7a8479f7360de822e8ec905a8d3a26efdd\"\u003e\u003ccode\u003e3d536d7\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05102\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f598dcfda0d2c13eca237b6a2ed7006361b0506a\"\u003e\u003ccode\u003ef598dcf\u003c/code\u003e\u003c/a\u003e docs: add error guide for NG05101\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/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/0d9a245345c5bb3013849d924efbfa3676b520a0\"\u003e\u003ccode\u003e0d9a245\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\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/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e\u003ccode\u003e5a7c1e6\u003c/code\u003e\u003c/a\u003e feat(core): add ability to cache resources for SSR\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/4ad3a1fe3793843270982e95389a3fefcb2c02e3\"\u003e\u003ccode\u003e4ad3a1f\u003c/code\u003e\u003c/a\u003e refactor(core): Don't throw when there are not async metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f3f3d7da1ed9f978fef5ac39f78dea292832b4c\"\u003e\u003ccode\u003e7f3f3d7\u003c/code\u003e\u003c/a\u003e ci: remove remainings of saucelabs tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.3\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/f90c20df4064dcdc4fe63d3148e0d696a61f562c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f90c20df40-fix-green\" alt=\"fix - f90c20df40\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f4f7f3755cc74c7ee73da32a14d99cdb9265177c\"\u003e\u003cimg src=\"https://img.shields.io/badge/f4f7f3755c-fix-green\" alt=\"fix - f4f7f3755c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unused import breaking CI in 22.0.x\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/06d854929c31213df363274f80a64b9049f0310c\"\u003e\u003cimg src=\"https://img.shields.io/badge/06d854929c-fix-green\" alt=\"fix - 06d854929c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/279930425910c804e369a04f8df3a259f16b8daf\"\u003e\u003cimg src=\"https://img.shields.io/badge/2799304259-fix-green\" alt=\"fix - 2799304259\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/8cdc202dfcd45b95fdcabb2af3493571f57a4762\"\u003e\u003cimg src=\"https://img.shields.io/badge/8cdc202dfc-fix-green\" alt=\"fix - 8cdc202dfc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/b4a5a2fb4eb2b2ffb6e79170d453d55af2c72e73\"\u003e\u003cimg src=\"https://img.shields.io/badge/b4a5a2fb4e-fix-green\" alt=\"fix - b4a5a2fb4e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a16f9b22633ef88f64517e18b29923c74da6bff6\"\u003e\u003cimg src=\"https://img.shields.io/badge/a16f9b2263-fix-green\" alt=\"fix - a16f9b2263\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcc648f4b6dae63d600a9f1c40854940bf8442c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcc648f4b6-fix-green\" alt=\"fix - bcc648f4b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\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-dynamic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eD...\n\n_Description has been truncated_","html_url":"https://github.com/EmCap1999/lafontainemons-menu/pull/281","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmCap1999%2Flafontainemons-menu/issues/281","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/281/packages"}},{"old_version":"22.0.3","new_version":"22.0.4","update_type":"patch","path":null,"pr_created_at":"2026-06-29T23:33:51.000Z","version_change":"22.0.3 → 22.0.4","issue":{"uuid":"4772371935","node_id":"PR_kwDOHBnFWs7r_2Ml","number":1217,"state":"open","title":"Bump the angular group 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-06-29T23:33:51.000Z","updated_at":"2026-06-29T23:37:41.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/animations","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/localize","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/service-worker","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `22.0.3` | `22.0.4` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.3` | `22.0.4` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.3` | `22.0.4` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.3` | `22.0.4` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.3` | `22.0.4` |\n| [@angular/localize](https://github.com/angular/angular) | `22.0.3` | `22.0.4` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.3` | `22.0.4` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.3` | `22.0.4` |\n| [@angular/service-worker](https://github.com/angular/angular/tree/HEAD/packages/service-worker) | `22.0.3` | `22.0.4` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.3` | `22.0.4` |\n\nUpdates `@angular/animations` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/localize` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/localize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/localize's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/0b1cbbd12fb8db620d755265dc8f31f6a97dad87\"\u003e\u003ccode\u003e0b1cbbd\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/compare/v22.0.3...v22.0.4\"\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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/service-worker` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/service-worker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/service-worker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/service-worker\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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-cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/compiler-cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cjmalloy/jasper-ui/pull/1217","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjmalloy%2Fjasper-ui/issues/1217","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1217/packages"}},{"old_version":"22.0.3","new_version":"22.0.4","update_type":"patch","path":null,"pr_created_at":"2026-06-29T01:44:46.000Z","version_change":"22.0.3 → 22.0.4","issue":{"uuid":"4764392290","node_id":"PR_kwDOKaENj87rliSy","number":676,"state":"closed","title":"chore(deps): bump the angular group with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-02T01:44:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-29T01:44:46.000Z","updated_at":"2026-07-02T01:44:07.000Z","time_to_close":259160,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"angular","update_count":9,"packages":[{"name":"@angular/animations","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler-cli","old_version":"22.0.3","new_version":"22.0.4","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `22.0.3` | `22.0.4` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.3` | `22.0.4` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.3` | `22.0.4` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.3` | `22.0.4` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.3` | `22.0.4` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.3` | `22.0.4` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `22.0.3` | `22.0.4` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.3` | `22.0.4` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.3` | `22.0.4` |\n\nUpdates `@angular/animations` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003ccode\u003efd37f09\u003c/code\u003e\u003c/a\u003e fix(migrations): resolve migration failure when tsconfig specifies rootDir\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/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 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/platform-browser-dynamic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/platform-browser-dynamic\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 22.0.3 to 22.0.4\n\u003cdetails\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\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 22.0.3 to 22.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.4\u003c/h2\u003e\n\u003ch3\u003emigrations\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd37f09f37-fix-green\" alt=\"fix - fd37f09f37\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\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-cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.4 (2026-06-26)\u003c/h1\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/fd37f09f371184f6160ec7eb7fdf560eb9d77034\"\u003efd37f09f37\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve migration failure when tsconfig specifies rootDir\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.2 (2026-06-25)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ecd047578e1eb3a4cdfee7bfee9b1422e5a5db2c\"\u003eecd047578e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eaccount for NgModule dependencies in JIT-compiled partial declarations\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/8b2785b597ccf11dae3cd3f2e7ee97480233e4d6\"\u003e8b2785b597\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ereport diagnostic instead of crashing on malformed host binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/91d168e74b7cdcd1292772b1052888b83de5f3af\"\u003e91d168e74b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid uncaught promise errors in injectAsync prefetching\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/f76e8a98c1005827e562811d5d08ffd35493f9f5\"\u003ef76e8a98c1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent caching of responses with Set-Cookie headers\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/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2\"\u003ec75ff0255c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd migration from injectable to service\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/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9\"\u003e97a3fd6a55\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003ehandle null and undefined inputs in RouterLinkActive\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/716f9eb032baea351c94352f8e36dac8bc82468e\"\u003e716f9eb032\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f98f98f1f410e5343852e3c8f98c32267b29e01\"\u003e6f98f98f1f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve referrer policy in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eupgrade\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/8d31b82116c4128a00302abd7c4dfc035c77789e\"\u003e8d31b82116\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport model() signals in downgradeComponent\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.4/packages/compiler-cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/jy95/ngx-json-schema-viewer/pull/676","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jy95%2Fngx-json-schema-viewer/issues/676","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/676/packages"}},{"old_version":"21.0.3","new_version":"22.0.2","update_type":"major","path":"/web/vyst-ui","pr_created_at":"2026-06-23T22:28:01.000Z","version_change":"21.0.3 → 22.0.2","issue":{"uuid":"4729997945","node_id":"PR_kwDOTDTspc7p2_fh","number":3,"state":"open","title":"Bump the npm-deps group in /web/vyst-ui with 18 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-06-23T22:28:01.000Z","updated_at":"2026-06-23T22:28:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-deps","update_count":18,"packages":[{"name":"@angular/animations","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/common","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@apollo/client","old_version":"4.0.9","new_version":"4.2.3","repository_url":"https://github.com/apollographql/apollo-client"},{"name":"apollo-angular","old_version":"13.0.0","new_version":"14.1.0","repository_url":"https://github.com/the-guild-org/apollo-angular"},{"name":"graphql","old_version":"16.12.0","new_version":"17.0.1","repository_url":"https://github.com/graphql/graphql-js"},{"name":"zone.js","old_version":"0.16.0","new_version":"0.16.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.0.2","new_version":"22.0.3","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.16","new_version":"22.0.3","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.0.3","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"autoprefixer","old_version":"10.4.22","new_version":"10.5.1","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"jsdom","old_version":"27.2.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"tailwindcss","old_version":"3.4.18","new_version":"4.3.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":"/web/vyst-ui","ecosystem":"npm"},"body":"Bumps the npm-deps group in /web/vyst-ui with 18 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.0.3` | `22.0.2` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.0.3` | `22.0.2` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.0.3` | `22.0.2` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.0.3` | `22.0.2` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.0.3` | `22.0.2` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.0.3` | `22.0.2` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.0.3` | `22.0.2` |\n| [@apollo/client](https://github.com/apollographql/apollo-client) | `4.0.9` | `4.2.3` |\n| [apollo-angular](https://github.com/the-guild-org/apollo-angular/tree/HEAD/packages/apollo-angular) | `13.0.0` | `14.1.0` |\n| [graphql](https://github.com/graphql/graphql-js) | `16.12.0` | `17.0.1` |\n| [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) | `0.16.0` | `0.16.2` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.0.2` | `22.0.3` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.16` | `22.0.3` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.0.3` | `22.0.2` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.22` | `10.5.1` |\n| [jsdom](https://github.com/jsdom/jsdom) | `27.2.0` | `29.1.1` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.18` | `4.3.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\nUpdates `@angular/animations` from 21.0.3 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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.0.3 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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.0.3 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427\"\u003e\u003ccode\u003ef309727\u003c/code\u003e\u003c/a\u003e refactor(compiler): Collect in-element comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4\"\u003e\u003ccode\u003e8bb3947\u003c/code\u003e\u003c/a\u003e refactor: optimize dom security schema lookups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4645850e24d2764313040b6711af93d3fd426825\"\u003e\u003ccode\u003e4645850\u003c/code\u003e\u003c/a\u003e refactor(compiler): Remove 80 char limit on AbstractEmitterVisitor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003ccode\u003e1ee224c\u003c/code\u003e\u003c/a\u003e fix(compiler): disallow i18n event attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003ccode\u003e5946c18\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003ccode\u003e393b84c\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize two-way properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003ccode\u003e3d9ca2f\u003c/code\u003e\u003c/a\u003e fix(compiler-cli): bind switch exhaustive check expressions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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.0.3 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152601ed9429d127e31a9068db92aa4406cd0ced\"\u003e\u003ccode\u003e152601e\u003c/code\u003e\u003c/a\u003e refactor(core): add \u003ccode\u003echildSignalProp\u003c/code\u003e to \u003ccode\u003eReactiveNodeKind\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003ccode\u003e59dea13\u003c/code\u003e\u003c/a\u003e fix(core): guard against DOM clobbering in declareExperimentalWebMcpTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cb4570b2297d8af1a7287e2275758afc5b9acb\"\u003e\u003ccode\u003e81cb457\u003c/code\u003e\u003c/a\u003e refactor(router): Add handling for ActivatedRoute-scoped injector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003ccode\u003ef902d1d\u003c/code\u003e\u003c/a\u003e perf(core): detect existing signal dependency without checking all producer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003ccode\u003ee17e8d5\u003c/code\u003e\u003c/a\u003e fix(core): escape overlapping comment delimiters in escapeCommentText\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0f1cfe30829bd33ff4778e45322de4e80f2fe9a9\"\u003e\u003ccode\u003e0f1cfe3\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies to v22.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003ccode\u003e93d0a5f\u003c/code\u003e\u003c/a\u003e fix(core): prevent unsubscribe during emit from throwing off other listeners\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003ccode\u003e528a34f\u003c/code\u003e\u003c/a\u003e fix(core): avoid caching missing locale data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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.0.3 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ci...\n\n_Description has been truncated_","html_url":"https://github.com/pgdepaula/Vyst-OpenAuth/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgdepaula%2FVyst-OpenAuth/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"14.2.5","new_version":"22.0.2","update_type":"major","path":"/examples/user-management/angular-user-management","pr_created_at":"2026-06-21T11:16:45.000Z","version_change":"14.2.5 → 22.0.2","issue":{"uuid":"4710270189","node_id":"PR_kwDON-U_387o2TBc","number":340,"state":"open","title":"chore(deps): bump @angular/common, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic and @angular/router in /examples/user-management/angular-user-management","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-21T11:16:45.000Z","updated_at":"2026-06-21T11:17:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"@angular/common, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic"},{"name":"@angular/router","repository_url":"https://github.com/angular/angular","old_version":"14.2.5","new_version":"22.0.2"}],"path":"/examples/user-management/angular-user-management","ecosystem":"npm"},"body":"Bumps [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common), [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms), [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser), [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) and [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router). These dependencies needed to be updated together.\nUpdates `@angular/common` from 14.2.5 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 14.2.5 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3f055435f6e2f5f9824bc8f70d061b284bea7c80\"\u003e\u003ccode\u003e3f05543\u003c/code\u003e\u003c/a\u003e refactor(forms): fix initWebMcpForm description to be required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003ccode\u003e11836a6\u003c/code\u003e\u003c/a\u003e fix(forms): delay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003ccode\u003ee51ad37\u003c/code\u003e\u003c/a\u003e fix(forms): remove animationstart listener on component destroy to prevent me...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003ccode\u003e85d2d10\u003c/code\u003e\u003c/a\u003e fix(forms): harden FormGroup control lookups against prototype shadowing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003ccode\u003ecdcea80\u003c/code\u003e\u003c/a\u003e fix(core): require WebMCP tool descriptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003ccode\u003e55b7b5a\u003c/code\u003e\u003c/a\u003e fix(forms): set \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e81c7e84669e06f70aff0ca80dc3792809afdbd3\"\u003e\u003ccode\u003ee81c7e8\u003c/code\u003e\u003c/a\u003e refactor(forms): type built-in getError results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb600aa3b265b559b456408617220744d8dd3b24\"\u003e\u003ccode\u003eeb600aa\u003c/code\u003e\u003c/a\u003e refactor(forms): mark date and limit signal forms APIs public\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/3b4ef1e2ffa7f33583b9d6c5d927e2148a507921\"\u003e\u003ccode\u003e3b4ef1e\u003c/code\u003e\u003c/a\u003e perf(forms): avoid redundant invalidations in parser errors signal\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 14.2.5 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\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/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/0d9a245345c5bb3013849d924efbfa3676b520a0\"\u003e\u003ccode\u003e0d9a245\u003c/code\u003e\u003c/a\u003e fix(core): sanitize meta selectors\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/5a7c1e62dc2a4fa199b85150eca66914c107a6f4\"\u003e\u003ccode\u003e5a7c1e6\u003c/code\u003e\u003c/a\u003e feat(core): add ability to cache resources for SSR\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/4ad3a1fe3793843270982e95389a3fefcb2c02e3\"\u003e\u003ccode\u003e4ad3a1f\u003c/code\u003e\u003c/a\u003e refactor(core): Don't throw when there are not async metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f3f3d7da1ed9f978fef5ac39f78dea292832b4c\"\u003e\u003ccode\u003e7f3f3d7\u003c/code\u003e\u003c/a\u003e ci: remove remainings of saucelabs tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f479ae9641a5c928f8eeab9c7846245002b3eff\"\u003e\u003ccode\u003e9f479ae\u003c/code\u003e\u003c/a\u003e feat(core): Update Testability to use PendingTasks for stability indicator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/0454d4ced7ece95e3b21b1e6df6dde0e92ac3ee4\"\u003e\u003ccode\u003e0454d4c\u003c/code\u003e\u003c/a\u003e refactor(core): deprecate \u003ccode\u003ewithIncrementalHydration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 14.2.5 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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-dynamic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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/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/4ad3a1fe3793843270982e95389a3fefcb2c02e3\"\u003e\u003ccode\u003e4ad3a1f\u003c/code\u003e\u003c/a\u003e refactor(core): Don't throw when there are not async metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f3f3d7da1ed9f978fef5ac39f78dea292832b4c\"\u003e\u003ccode\u003e7f3f3d7\u003c/code\u003e\u003c/a\u003e ci: remove remainings of saucelabs tests\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\u003e\u003ca href=\"https://github.com/angular/angular/commit/d3f67f6ca83ce36291d444e664068e881b4caf66\"\u003e\u003ccode\u003ed3f67f6\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/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c3576506b3c13389e18fa4c0c29bdf536f604142\"\u003e\u003ccode\u003ec357650\u003c/code\u003e\u003c/a\u003e refactor(core): Update tests for zoneless by default (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/63668\"\u003e#63668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2fcafb65c5784ba151e01d808348fd68b3c39388\"\u003e\u003ccode\u003e2fcafb6\u003c/code\u003e\u003c/a\u003e build: rename defaults2.bzl to defaults.bzl (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/63383\"\u003e#63383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa8d8b8396c9992d25a2e0256ae895ca7c86ad66\"\u003e\u003ccode\u003efa8d8b8\u003c/code\u003e\u003c/a\u003e build: migrate all npm packages to use new rules_js based npm_package rule (#...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/packages/platform-browser-dynamic\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 14.2.5 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://githu...\n\n_Description has been truncated_\n\n\u003c!-- Reviewable:start --\u003e\n- - -\nThis change is [\u003cimg src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/\u003e](https://reviewable.io/reviews/Dustin4444/supabase/340)\n\u003c!-- Reviewable:end --\u003e\n","html_url":"https://github.com/Dustin4444/supabase/pull/340","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dustin4444%2Fsupabase/issues/340","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/340/packages"}},{"old_version":"19.2.25","new_version":"22.0.2","update_type":"major","path":null,"pr_created_at":"2026-06-20T23:40:43.000Z","version_change":"19.2.25 → 22.0.2","issue":{"uuid":"4708718814","node_id":"PR_kwDOSxAqvc7oxsGw","number":15,"state":"open","title":"chore(deps): bump the angular group across 1 directory with 13 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-20T23:40:43.000Z","updated_at":"2026-06-27T20:32:32.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":13,"packages":[{"name":"@angular/animations","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/cdk","old_version":"19.2.19","new_version":"22.0.2","repository_url":"https://github.com/angular/components"},{"name":"@angular/common","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/material","old_version":"19.2.19","new_version":"22.0.2","repository_url":"https://github.com/angular/components"},{"name":"@angular/platform-browser","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"},{"name":"@angular-devkit/build-angular","old_version":"19.2.27","new_version":"22.0.3","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"19.2.27","new_version":"22.0.3","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"19.2.25","new_version":"22.0.2","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 13 updates in the /hiresync directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `19.2.25` | `22.0.2` |\n| [@angular/cdk](https://github.com/angular/components) | `19.2.19` | `22.0.2` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `19.2.25` | `22.0.2` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `19.2.25` | `22.0.2` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `19.2.25` | `22.0.2` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `19.2.25` | `22.0.2` |\n| [@angular/material](https://github.com/angular/components) | `19.2.19` | `22.0.2` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `19.2.25` | `22.0.2` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `19.2.25` | `22.0.2` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `19.2.25` | `22.0.2` |\n| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `19.2.27` | `22.0.3` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `19.2.27` | `22.0.3` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `19.2.25` | `22.0.2` |\n\n\nUpdates `@angular/animations` from 19.2.25 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\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\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 19.2.19 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/releases\"\u003e@​angular/cdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/fb4478bff31976f6179fde21f800f1326395f707\"\u003e\u003cimg src=\"https://img.shields.io/badge/fb4478bff3-fix-green\" alt=\"fix - fb4478bff3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebottom-sheet:\u003c/strong\u003e ensure animation event comes from container\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e4f7f3498b472badf60250ca1bf884e6b0f7a6aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/e4f7f3498b-fix-green\" alt=\"fix - e4f7f3498b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003echips:\u003c/strong\u003e correct focus management on chip destruction (\u003ca href=\"https://redirect.github.com/angular/components/issues/33329\"\u003e#33329\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/766b7aceee027d6f40af15ab29d6fd47ebe1661b\"\u003e\u003cimg src=\"https://img.shields.io/badge/766b7aceee-fix-green\" alt=\"fix - 766b7aceee\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003echips:\u003c/strong\u003e wrong padding when chip only has edit icon (\u003ca href=\"https://redirect.github.com/angular/components/issues/33407\"\u003e#33407\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ebca801ee55b9f63a3b5b29cc6113e09ff66ffe2\"\u003e\u003cimg src=\"https://img.shields.io/badge/ebca801ee5-fix-green\" alt=\"fix - ebca801ee5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid-list:\u003c/strong\u003e always validate colspan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/30942bcd3640efd7f3980044144dd1fc8b10e8f3\"\u003e\u003cimg src=\"https://img.shields.io/badge/30942bcd36-fix-green\" alt=\"fix - 30942bcd36\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e validate animation durations\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e8f34190606a706e27b594ad84543fad62dd24e8\"\u003e\u003cimg src=\"https://img.shields.io/badge/e8f3419060-fix-green\" alt=\"fix - e8f3419060\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elayout:\u003c/strong\u003e avoid CSS injection attacks in media matcher\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9dc2b2b2edefa0b01859ef68059d1a16a6837ecc\"\u003e\u003cimg src=\"https://img.shields.io/badge/9dc2b2b2ed-fix-green\" alt=\"fix - 9dc2b2b2ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eplatform:\u003c/strong\u003e account for composedPath error during event replay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33409\"\u003e#33409\u003c/a\u003e)\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\u003eDescription\u003c/th\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/2995797ded3713909d9742c4032f4f8647193cb3\"\u003e\u003cimg src=\"https://img.shields.io/badge/2995797ded-fix-green\" alt=\"fix - 2995797ded\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove dark theme visibility in menu, overlay, and portal examples (\u003ca href=\"https://redirect.github.com/angular/components/issues/33367\"\u003e#33367\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d75a22d69ddc9ffc5afa6b677f39fbbfc3ad5f7f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d75a22d69-fix-green\" alt=\"fix - d75a22d69\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid errors with clobbered variables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/fe0a96ce673c3622e87a7a44bff8f40a1ad70675\"\u003e\u003cimg src=\"https://img.shields.io/badge/fe0a96ce6-fix-green\" alt=\"fix - fe0a96ce6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate ID before attaching them to placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003e\u003cimg src=\"https://img.shields.io/badge/d7a8cb963-fix-green\" alt=\"fix - d7a8cb963\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/issues/33373\"\u003e#33373\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bde3c7621dddba2932f23743fc67a18feec664fe\"\u003e\u003cimg src=\"https://img.shields.io/badge/bde3c7621-fix-green\" alt=\"fix - bde3c7621\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etimepicker:\u003c/strong\u003e do not allow intervals less than a second (\u003ca href=\"https://redirect.github.com/angular/components/issues/33354\"\u003e#33354\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/629aea4032cedf9428e3ed4f729d6a5836fa84de\"\u003e\u003cimg src=\"https://img.shields.io/badge/629aea403-fix-green\" alt=\"fix - 629aea403\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e avoid prototype conflicts in id generator (\u003ca href=\"https://redirect.github.com/angular/components/issues/33356\"\u003e#33356\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e\u003cimg src=\"https://img.shields.io/badge/49aeb676c-fix-green\" alt=\"fix - 49aeb676c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eclipboard:\u003c/strong\u003e avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/issues/33366\"\u003e#33366\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7581b0592b6aef617e3563e206b0645d3122d68c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7581b0592-fix-green\" alt=\"fix - 7581b0592\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e avoid error for synthetic events (\u003ca href=\"https://redirect.github.com/angular/components/issues/33360\"\u003e#33360\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1c4706155d6f8a5d465dbb2b6a40cf7da2efdf17\"\u003e\u003cimg src=\"https://img.shields.io/badge/1c4706155-fix-green\" alt=\"fix - 1c4706155\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e prevent re-dispatching keyboard event on control target change (\u003ca href=\"https://redirect.github.com/angular/components/issues/33362\"\u003e#33362\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/96e9ce10c35ea3df9a9604a5ab3b5c85e8cc263e\"\u003e\u003cimg src=\"https://img.shields.io/badge/96e9ce10c-fix-green\" alt=\"fix - 96e9ce10c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e recursive textDirection getter (\u003ca href=\"https://redirect.github.com/angular/components/issues/33337\"\u003e#33337\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d91f46b4c522159e025d3b94b653981f344a4fdf\"\u003e\u003cimg src=\"https://img.shields.io/badge/d91f46b4c-feat-blue\" alt=\"feat - d91f46b4c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eaccordion:\u003c/strong\u003e introduce accordion harness (\u003ca href=\"https://redirect.github.com/angular/components/issues/33046\"\u003e#33046\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e3d84f2e0adb9254d804c10ba24e6c4528efad53\"\u003e\u003cimg src=\"https://img.shields.io/badge/e3d84f2e0-feat-blue\" alt=\"feat - e3d84f2e0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33194\"\u003e#33194\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/0ca47b4a060595919fd2b2cd62d0097071c4795d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0ca47b4a0-feat-blue\" alt=\"feat - 0ca47b4a0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e migrate simple-combobox directly into primary entrypoints (\u003ca href=\"https://redirect.github.com/angular/components/issues/33206\"\u003e#33206\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/6ec07bc0cbe39be48faaf6021caecf2d0037df1f\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec07bc0c-feat-blue\" alt=\"feat - 6ec07bc0c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid:\u003c/strong\u003e add test harnesses (\u003ca href=\"https://redirect.github.com/angular/components/issues/33081\"\u003e#33081\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/components/blob/main/CHANGELOG.md\"\u003e@​angular/cdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.2 \u0026quot;plastic lion\u0026quot; (2026-06-17)\u003c/h1\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/e8f34190606a706e27b594ad84543fad62dd24e8\"\u003ee8f3419060\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003elayout:\u003c/strong\u003e avoid CSS injection attacks in media matcher\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/9dc2b2b2edefa0b01859ef68059d1a16a6837ecc\"\u003e9dc2b2b2ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eplatform:\u003c/strong\u003e account for composedPath error during event replay (\u003ca href=\"https://redirect.github.com/angular/components/pull/33409\"\u003e#33409\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/fb4478bff31976f6179fde21f800f1326395f707\"\u003efb4478bff3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ebottom-sheet:\u003c/strong\u003e ensure animation event comes from container\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/e4f7f3498b472badf60250ca1bf884e6b0f7a6aa\"\u003ee4f7f3498b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003echips:\u003c/strong\u003e correct focus management on chip destruction (\u003ca href=\"https://redirect.github.com/angular/components/pull/33329\"\u003e#33329\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/766b7aceee027d6f40af15ab29d6fd47ebe1661b\"\u003e766b7aceee\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003echips:\u003c/strong\u003e wrong padding when chip only has edit icon (\u003ca href=\"https://redirect.github.com/angular/components/pull/33407\"\u003e#33407\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/ebca801ee55b9f63a3b5b29cc6113e09ff66ffe2\"\u003eebca801ee5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003egrid-list:\u003c/strong\u003e always validate colspan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/30942bcd3640efd7f3980044144dd1fc8b10e8f3\"\u003e30942bcd36\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003estepper:\u003c/strong\u003e validate animation durations\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/2995797ded3713909d9742c4032f4f8647193cb3\"\u003e2995797ded\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove dark theme visibility in menu, overlay, and portal examples (\u003ca href=\"https://redirect.github.com/angular/components/pull/33367\"\u003e#33367\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.1.0-next.0 \u0026quot;argon-pineapple\u0026quot; (2026-06-10)\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.1 \u0026quot;argon-apple\u0026quot; (2026-06-10)\u003c/h1\u003e\n\u003ch3\u003earia\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/7581b0592b6aef617e3563e206b0645d3122d68c\"\u003e7581b0592\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e avoid error for synthetic events (\u003ca href=\"https://redirect.github.com/angular/components/pull/33360\"\u003e#33360\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/1c4706155d6f8a5d465dbb2b6a40cf7da2efdf17\"\u003e1c4706155\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ecombobox:\u003c/strong\u003e prevent re-dispatching keyboard event on control target change (\u003ca href=\"https://redirect.github.com/angular/components/pull/33362\"\u003e#33362\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/96e9ce10c35ea3df9a9604a5ab3b5c85e8cc263e\"\u003e96e9ce10c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etree:\u003c/strong\u003e recursive textDirection getter (\u003ca href=\"https://redirect.github.com/angular/components/pull/33337\"\u003e#33337\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecdk\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/629aea4032cedf9428e3ed4f729d6a5836fa84de\"\u003e629aea403\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003ea11y:\u003c/strong\u003e avoid prototype conflicts in id generator (\u003ca href=\"https://redirect.github.com/angular/components/pull/33356\"\u003e#33356\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/49aeb676cd82d84f00983c9959d68199115c31e0\"\u003e49aeb676c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003eclipboard:\u003c/strong\u003e avoid infinite attempt loop (\u003ca href=\"https://redirect.github.com/angular/components/pull/33366\"\u003e#33366\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ematerial\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d7a8cb9633f2f670a6bf455a9f51d492b01cb68c\"\u003ed7a8cb963\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003edialog:\u003c/strong\u003e ignore clicks on aria-disabled close buttons (\u003ca href=\"https://redirect.github.com/angular/components/pull/33373\"\u003e#33373\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/bde3c7621dddba2932f23743fc67a18feec664fe\"\u003ebde3c7621\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003etimepicker:\u003c/strong\u003e do not allow intervals less than a second (\u003ca href=\"https://redirect.github.com/angular/components/pull/33354\"\u003e#33354\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eyoutube-player\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/d75a22d69ddc9ffc5afa6b677f39fbbfc3ad5f7f\"\u003ed75a22d69\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid errors with clobbered variables\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/components/commit/fe0a96ce673c3622e87a7a44bff8f40a1ad70675\"\u003efe0a96ce6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate ID before attaching them to placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\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/9b9d0ea00087369b6fe96e6c32bc8ace6ca8015d\"\u003e\u003ccode\u003e9b9d0ea\u003c/code\u003e\u003c/a\u003e release: cut the v22.0.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/7b54e9538241d606e9efb4c23074d03e0120df1c\"\u003e\u003ccode\u003e7b54e95\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies (\u003ca href=\"https://redirect.github.com/angular/components/issues/33398\"\u003e#33398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/b77a82902069fc78a30c35bf45ed1dcec630e1b9\"\u003e\u003ccode\u003eb77a829\u003c/code\u003e\u003c/a\u003e docs(google-maps): Document the behavior of using the clusterClick output in ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/605f20016e3a316c6488e6974fbc6efdd04cf952\"\u003e\u003ccode\u003e605f200\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.34.3 (\u003ca href=\"https://redirect.github.com/angular/components/issues/33392\"\u003e#33392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/030915030f89acdfadabcef41596848fa5fc5324\"\u003e\u003ccode\u003e0309150\u003c/code\u003e\u003c/a\u003e build: lock file maintenance (\u003ca href=\"https://redirect.github.com/angular/components/issues/33406\"\u003e#33406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/9dc2b2b2edefa0b01859ef68059d1a16a6837ecc\"\u003e\u003ccode\u003e9dc2b2b\u003c/code\u003e\u003c/a\u003e fix(cdk/platform): account for composedPath error during event replay (\u003ca href=\"https://redirect.github.com/angular/components/issues/33409\"\u003e#33409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/766b7aceee027d6f40af15ab29d6fd47ebe1661b\"\u003e\u003ccode\u003e766b7ac\u003c/code\u003e\u003c/a\u003e fix(material/chips): wrong padding when chip only has edit icon (\u003ca href=\"https://redirect.github.com/angular/components/issues/33407\"\u003e#33407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/f7170b985aed8bf593ccdc76bdfb957e664a6491\"\u003e\u003ccode\u003ef7170b9\u003c/code\u003e\u003c/a\u003e build: fix build failure (\u003ca href=\"https://redirect.github.com/angular/components/issues/33408\"\u003e#33408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/e4f7f3498b472badf60250ca1bf884e6b0f7a6aa\"\u003e\u003ccode\u003ee4f7f34\u003c/code\u003e\u003c/a\u003e fix(material/chips): correct focus management on chip destruction (\u003ca href=\"https://redirect.github.com/angular/components/issues/33329\"\u003e#33329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/components/commit/9ad7964f9b6f67cb39a749a1f3e6bd93a469aeb6\"\u003e\u003ccode\u003e9ad7964\u003c/code\u003e\u003c/a\u003e build: update review config (\u003ca href=\"https://redirect.github.com/angular/components/issues/33394\"\u003e#33394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/components/compare/19.2.19...v22.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 19.2.25 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003ccode\u003e6867f77\u003c/code\u003e\u003c/a\u003e fix(http): distinguish repeated transfer cache params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003ccode\u003e6c1f3e9\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003ccode\u003e7ef1399\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69316\"\u003e#69316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003ccode\u003e94ea403\u003c/code\u003e\u003c/a\u003e fix(common): escape anchor fragment in shadow DOM name selector\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 19.2.25 to 22.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003e\u003cimg src=\"https://img.shields.io/badge/e17e8d5422-fix-green\" alt=\"fix - e17e8d5422\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e\u003cimg src=\"https://img.shields.io/badge/59dea13f80-fix-green\" alt=\"fix - 59dea13f80\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e\u003cimg src=\"https://img.shields.io/badge/3a48abc15c-fix-green\" alt=\"fix - 3a48abc15c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e\u003cimg src=\"https://img.shields.io/badge/93d0a5f95c-fix-green\" alt=\"fix - 93d0a5f95c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003cimg src=\"https://img.shields.io/badge/b32ee7ceb3-fix-green\" alt=\"fix - b32ee7ceb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003e\u003cimg src=\"https://img.shields.io/badge/f902d1d35e-perf-orange\" alt=\"perf - f902d1d35e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6867f77ec7-fix-green\" alt=\"fix - 6867f77ec7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e\u003cimg src=\"https://img.shields.io/badge/7ef1399068-fix-green\" alt=\"fix - 7ef1399068\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69316\"\u003e#69316\u003c/a\u003e)\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\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/15314c1736afd9cafb24518cd458768973169d24\"\u003e\u003cimg src=\"https://img.shields.io/badge/15314c1736-fix-green\" alt=\"fix - 15314c1736\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003c!-- 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.2 (2026-06-17)\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e94ea403563\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e6c1f3e9d49\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e6f1171991a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e528a34f766\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e17e8d542242333359946863d0272680c966325b\"\u003ee17e8d5422\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape overlapping comment delimiters in escapeCommentText\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/59dea13f802f0bf43c4ee2b65c2a1aa0e59a2a15\"\u003e59dea13f80\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eguard against DOM clobbering in declareExperimentalWebMcpTool\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3a48abc15c038692a856c588c3037cd51e035f0b\"\u003e3a48abc15c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve leave animation for sibling instances sharing a TNode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/93d0a5f95c9376272b5ebf71e94ff3ddb25a294d\"\u003e93d0a5f95c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent unsubscribe during emit from throwing off other listeners\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003eb32ee7ceb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat iframe credentialless as security-sensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/f902d1d35e90e9220e40581fa2d7c4463b2d1190\"\u003ef902d1d35e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003edetect existing signal dependency without checking all producer links\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/6867f77ec779a0a24f6339ad6c775f444202103c\"\u003e6867f77ec7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edistinguish repeated transfer cache params\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7ef139906802ddd98ce12ce99fdd8c11a684d87d\"\u003e7ef1399068\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69316\"\u003e#69316\u003c/a\u003e)\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/15314c1736afd9cafb24518cd458768973169d24\"\u003e15314c1736\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emigration skip any target are not build or test\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.1.0-next.0 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eHttpClient.jsonp\u003c/code\u003e, \u003ccode\u003eHttpClientJsonpModule\u003c/code\u003e, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e\"\u003e1ad6824d0d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69017\"\u003e#69017\u003c/a\u003e)\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/25c744c4d0abd3bfe863ed2d528fea756ec5801b\"\u003e25c744c4d0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport foreign components defined outside top-level scope\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/aeb55c8bc101dc313dc64f83f4428ddfad28d54e\"\u003eaeb55c8bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow passing uninvoked signals as foreign component props\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff\"\u003e7c60a98b3c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport import aliases in foreignImports (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68674\"\u003e#68674\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/74f2b91c12cef610e5e0dad2f73e036019e570f4\"\u003e\u003ccode\u003e74f2b91\u003c/code\u003e\u003c/a\u003e refactor(compiler): correct TcbInvalidReferenceOp initializer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b32ee7ceb3878d25ed58b7bbad58aaf3a01d9966\"\u003e\u003ccode\u003eb32ee7c\u003c/code\u003e\u003c/a\u003e fix(core): treat iframe credentialless as security-sensitive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f309727ada9e306c8001b54d4caf7fe71528a427\"\u003e\u003ccode\u003ef309727\u003c/code\u003e\u003c/a\u003e refactor(compiler): Collect in-element comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003ccode\u003e6f11719\u003c/code\u003e\u003c/a\u003e fix(compiler): restrict possible event handler check to property names longer...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/8bb3947e995906cc1e48e41e7abc65de3a3cd1f4\"\u003e\u003ccode\u003e8bb3947\u003c/code\u003e\u003c/a\u003e refactor: optimize dom security schema lookups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4645850e24d2764313040b6711af93d3fd426825\"\u003e\u003ccode\u003e4645850\u003c/code\u003e\u003c/a\u003e refactor(compiler): Remove 80 char limit on AbstractEmitterVisitor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003ccode\u003e1ee224c\u003c/code\u003e\u003c/a\u003e fix(compiler): disallow i18n event attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003ccode\u003e5946c18\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003ccode\u003e393b84c\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize two-way properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003ccode\u003e3d9ca2f\u003c/code\u003e\u003c/a\u003e fix(compiler-cli): bind switch exhaustive check expressions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.2/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 19.2.25 to 22.0.2\n\u003cdetails\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\u003e22.0.2\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/94ea4035638db37e938831e3cb0e9562ca399475\"\u003e\u003cimg src=\"https://img.shields.io/badge/94ea403563-fix-green\" alt=\"fix - 94ea403563\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape anchor fragment in shadow DOM name selector\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6c1f3e9d49907ef643f1bc5297ff404768017acf\"\u003e\u003cimg src=\"https://img.shields.io/badge/6c1f3e9d49-fix-green\" alt=\"fix - 6c1f3e9d49\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69316\"\u003e#69316\u003c/a\u003e)\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/6f1171991a1262b5384470f34029f7312dc4fc53\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f1171991a-fix-green\" alt=\"fix - 6f1171991a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict possible event handler check to property names longer than 2 characters\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/528a34f766191da3fc684c6fac988b1bd2028f49\"\u003e\u003cimg src=\"https://img.shields.io/badge/528a34f766-fix-green\" alt=\"fix - 528a34f766\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eavoid caching missing locale data\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/...\n\n_Description has been truncated_","html_url":"https://github.com/gripexdev/hiresync/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gripexdev%2Fhiresync/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"21.2.13","new_version":"21.2.17","update_type":"patch","path":null,"pr_created_at":"2026-06-19T06:05:35.000Z","version_change":"21.2.13 → 21.2.17","issue":{"uuid":"4698332731","node_id":"PR_kwDOROE8js7oP5lk","number":41,"state":"open","title":"build(deps)(deps): Bump the angular group with 9 updates","user":"dependabot[bot]","labels":["dependencies","automated"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-19T06:05:35.000Z","updated_at":"2026-06-28T03:14:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)(deps): Bump","group_name":"angular","update_count":9,"packages":[{"name":"@angular/common","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/build","old_version":"21.2.11","new_version":"21.2.16","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.11","new_version":"21.2.16","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.13","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps the angular group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.13` | `21.2.17` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.13` | `21.2.17` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.13` | `21.2.17` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.13` | `21.2.17` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.13` | `21.2.17` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.13` | `21.2.17` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.16` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.11` | `21.2.16` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.13` | `21.2.17` |\n\nUpdates `@angular/common` from 21.2.13 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003ccode\u003e86a56dc\u003c/code\u003e\u003c/a\u003e fix(common): Limits date format string length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003ccode\u003ebcb1b7e\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003ccode\u003ea810a31\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003ccode\u003ebc55749\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003ccode\u003ed846326\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003ccode\u003ee245d40\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003ccode\u003ef6d8e64\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/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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003ccode\u003edc9c996\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize two-way properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003ccode\u003eae1c8a1\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/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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003ccode\u003e88832c8\u003c/code\u003e\u003c/a\u003e fix(core): validate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69269\"\u003e#69269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003ccode\u003e3551074\u003c/code\u003e\u003c/a\u003e fix(platform-server): harden platform location origin validation during SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003ccode\u003ebc55749\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003ccode\u003ed846326\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003ccode\u003ee245d40\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003ccode\u003e1523061\u003c/code\u003e\u003c/a\u003e fix(core): harden TransferState restoration against DOM clobbering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/736c4ab7e6d9168dedd4cc08b4802ec0af40edee\"\u003e\u003ccode\u003e736c4ab\u003c/code\u003e\u003c/a\u003e refactor(core): fix broken unit test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003ccode\u003e3fd6897\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/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003ccode\u003e7e38336\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/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/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.17/packages/forms\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/platform-browser` from 21.2.13 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/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.17/packages/platform-browser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/router` from 21.2.13 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/router/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d...\n\n_Description has been truncated_","html_url":"https://github.com/zahlenhelfer/ng-marvinapp/pull/41","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zahlenhelfer%2Fng-marvinapp/issues/41","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/41/packages"}},{"old_version":"21.2.14","new_version":"21.2.17","update_type":"patch","path":null,"pr_created_at":"2026-06-16T04:19:21.000Z","version_change":"21.2.14 → 21.2.17","issue":{"uuid":"4671023550","node_id":"PR_kwDOR4aX4M7m117x","number":72,"state":"open","title":"Build(deps): bump the production-dependencies group across 1 directory with 17 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-16T04:19:21.000Z","updated_at":"2026-06-16T04:20:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): bump","group_name":"production-dependencies","update_count":17,"packages":[{"name":"@angular/common","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/compiler","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/core","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/forms","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/platform-browser-dynamic","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@angular/router","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"apexcharts","old_version":"5.13.0","new_version":"5.15.0","repository_url":"https://github.com/apexcharts/apexcharts.js"},{"name":"@angular/build","old_version":"21.2.12","new_version":"21.2.15","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.12","new_version":"21.2.15","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.14","new_version":"21.2.17","repository_url":"https://github.com/angular/angular"},{"name":"@tailwindcss/postcss","old_version":"4.3.0","new_version":"4.3.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.60.0","new_version":"8.61.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.7","new_version":"4.1.9","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-dependencies group with 14 updates in the /smartwallet-front directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.2.14` | `21.2.17` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.2.14` | `21.2.17` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.2.14` | `21.2.17` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.2.14` | `21.2.17` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.2.14` | `21.2.17` |\n| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `21.2.14` | `21.2.17` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.2.14` | `21.2.17` |\n| [apexcharts](https://github.com/apexcharts/apexcharts.js) | `5.13.0` | `5.15.0` |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.15` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.12` | `21.2.15` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.14` | `21.2.17` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.3.0` | `4.3.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.60.0` | `8.61.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.7` | `4.1.9` |\n\n\nUpdates `@angular/common` from 21.2.14 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003ccode\u003e86a56dc\u003c/code\u003e\u003c/a\u003e fix(common): Limits date format string length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003ccode\u003ebcb1b7e\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003ccode\u003ea810a31\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003ccode\u003ebc55749\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003ccode\u003ed846326\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003ccode\u003ee245d40\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003ccode\u003ef6d8e64\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/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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003ccode\u003edc9c996\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize two-way properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003ccode\u003eae1c8a1\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/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.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003ccode\u003e88832c8\u003c/code\u003e\u003c/a\u003e fix(core): validate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/69269\"\u003e#69269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003ccode\u003e3551074\u003c/code\u003e\u003c/a\u003e fix(platform-server): harden platform location origin validation during SSR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003ccode\u003ebc55749\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003ccode\u003ed846326\u003c/code\u003e\u003c/a\u003e fix(common): skip transfer cache for uncacheable HTTP traffic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003ccode\u003ee245d40\u003c/code\u003e\u003c/a\u003e fix(http): skip transfer cache for fetch credentialed requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003ccode\u003e1523061\u003c/code\u003e\u003c/a\u003e fix(core): harden TransferState restoration against DOM clobbering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/736c4ab7e6d9168dedd4cc08b4802ec0af40edee\"\u003e\u003ccode\u003e736c4ab\u003c/code\u003e\u003c/a\u003e refactor(core): fix broken unit test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003ccode\u003e3fd6897\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/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003ccode\u003e7e38336\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/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\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.17/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.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003e\u003cimg src=\"https://img.shields.io/badge/a810a319d1-fix-green\" alt=\"fix - a810a319d1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/e245d40c4d-fix-green\" alt=\"fix - e245d40c4d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e\u003cimg src=\"https://img.shields.io/badge/35510746b7-fix-green\" alt=\"fix - 35510746b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e\u003cimg src=\"https://img.shields.io/badge/13fb0afe93-refactor-yellow\" alt=\"refactor - 13fb0afe93\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser/issues/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003e\u003cimg src=\"https://img.shields.io/badge/b9d29381bb-fix-green\" alt=\"fix - b9d29381bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e21.2.16\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/f6d8e642b0b215d2f9dbf1060abd24348c6cbf66\"\u003e\u003cimg src=\"https://img.shields.io/badge/f6d8e642b0-fix-green\" alt=\"fix - f6d8e642b0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly strip a literal /index.html suffix from URLs\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/ae1c8a1f7a7f1d4832da3b22e3763864fa5ff098\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae1c8a1f7a-fix-green\" alt=\"fix - ae1c8a1f7a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emove projection attributes into constants\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3fd6897a67fd6acdc01fcde0452a98c3e0f81e21\"\u003e\u003cimg src=\"https://img.shields.io/badge/3fd6897a67-fix-green\" alt=\"fix - 3fd6897a67\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden inherit definition feature against polluted prototypes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7e38336dc73e14d98cc6465f54e1b7d6271facb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/7e38336dc7-fix-green\" alt=\"fix - 7e38336dc7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.create(null) for LOCALE_DATA as a hardening measure\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/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.17 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e86a56dc279\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003ed846326b07\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003ebc55749698\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003edc9c99636d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e1523061137\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e88832c84f8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003ebcb1b7ea25\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a810a319d10a8254307eb8f0598e7a888ce09ec0\"\u003ea810a319d1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e245d40c4d05665ab4814c594b8e0849b6e88a2d\"\u003ee245d40c4d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for fetch credentialed requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/35510746b7d6b5c3de41de04c0586fc286c9e748\"\u003e35510746b7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden platform location origin validation during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/13fb0afe93b45e3c2383969f70d3ee1f0146ecfb\"\u003e13fb0afe93\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erefactor\u003c/td\u003e\n\u003ctd\u003edeprecate ServerXhr (\u003ca href=\"https://redirect.github.com/angular/angular/pull/69255\"\u003e#69255\u003c/a\u003e)\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/b9d29381bb4442164b19d9b7e0baa147a7b25629\"\u003eb9d29381bb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eStrips sensitive headers on cross-origin redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\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.25 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/9f443bc24c79dca998c9434d1e235dc19dc29bba\"\u003e9f443bc24c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/566ad05f20732c38855353c3e73771ef9a34dadc\"\u003e566ad05f20\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1a62130a6bb313e4441f005e480768a360c71be5\"\u003e1a62130a6b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/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.17/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.14 to 21.2.17\n\u003cdetails\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.17\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/86a56dc279e71159d09a073a3cb138f49131995b\"\u003e\u003cimg src=\"https://img.shields.io/badge/86a56dc279-fix-green\" alt=\"fix - 86a56dc279\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/d846326b071e0a4ab090e068d934b182926c6b15\"\u003e\u003cimg src=\"https://img.shields.io/badge/d846326b07-fix-green\" alt=\"fix - d846326b07\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip transfer cache for uncacheable HTTP traffic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/bc55749698ce3917160cd8e9f7108f3c5d1c0b32\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc55749698-fix-green\" alt=\"fix - bc55749698\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dc9c99636d3471ed5a3c5cda54b95f604cd2b9a4\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc9c99636d-fix-green\" alt=\"fix - dc9c99636d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/152306113760e13196653699b42046d9f4129a37\"\u003e\u003cimg src=\"https://img.shields.io/badge/1523061137-fix-green\" alt=\"fix - 1523061137\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/88832c84f8a3cd88d80adcde539a6f91a1f30b74\"\u003e\u003cimg src=\"https://img.shields.io/badge/88832c84f8-fix-green\" alt=\"fix - 88832c84f8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic/issues/69269\"\u003e#69269\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/bcb1b7ea2575b140f7bf202ad4f779e402cd6094\"\u003e\u003cimg src=\"https://img.shields.io/badge/bcb1b7ea25-fix-green\" alt=\"fix - bcb1b7ea25\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.c...\n\n_Description has been truncated_","html_url":"https://github.com/Mailonap543/Smartwallet/pull/72","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mailonap543%2FSmartwallet/issues/72","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/72/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-06-16T00:35:15.000Z","version_change":null,"issue":{"uuid":"4669999312","node_id":"PR_kwDORkRvh87mykIW","number":34,"state":"open","title":"Bump @angular/core, @angular/animations, @angular/common, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic and @angular/router","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-16T00:35:15.000Z","updated_at":"2026-06-16T00:35:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"@angular/core, @angular/animations, @angular/common, @angular/forms, @angular/platform-browser, @angular/platform-browser-dynamic"},{"name":"@angular/router","repository_url":"https://github.com/angular/angular"}],"path":null,"ecosystem":"npm"},"body":"Bumps [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core), [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations), [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common), [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms), [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser), [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) and [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router). These dependencies needed to be updated together.\nUpdates `@angular/core` from 19.2.19 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/core/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4b0c3b8b8f1dbdb6ba31cb6499c393b1ccd81c6c\"\u003e\u003ccode\u003e4b0c3b8\u003c/code\u003e\u003c/a\u003e refactor(core): Update registerNgModuleType to support codegen typechecking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dbf64c8eb55ef5d2480abfbb4e362edccf79f971\"\u003e\u003ccode\u003edbf64c8\u003c/code\u003e\u003c/a\u003e test(core): fix AI tools test flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003ccode\u003e045bb73\u003c/code\u003e\u003c/a\u003e fix(core): validate lowercase SVG animation attribute names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003ccode\u003e1ee224c\u003c/code\u003e\u003c/a\u003e fix(compiler): disallow i18n event attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003ccode\u003e5946c18\u003c/code\u003e\u003c/a\u003e fix(compiler): sanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b1f02eb5c5fd6c4a62cadf4ff4f04a3046a65002\"\u003e\u003ccode\u003eb1f02eb\u003c/code\u003e\u003c/a\u003e refactor(core): add internal utility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003ccode\u003e85d2d10\u003c/code\u003e\u003c/a\u003e fix(forms): harden FormGroup control lookups against prototype shadowing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/6e3d51d7df3c8a4013cee7ec96c03835e0eeb9e2\"\u003e\u003ccode\u003e6e3d51d\u003c/code\u003e\u003c/a\u003e refactor(migrations): Improve \u003ccode\u003esafeNavigationMigration\u003c/code\u003e heuristic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/01ea640539efda57e35807cef61abaf403686fe9\"\u003e\u003ccode\u003e01ea640\u003c/code\u003e\u003c/a\u003e refactor(core): Fix DirectiveDefinition interface to allow abstract classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a704b08379e92294c59e47af7703edfefdaff6b8\"\u003e\u003ccode\u003ea704b08\u003c/code\u003e\u003c/a\u003e docs: add Signal Forms and v22 guidance to AI best-practices and llms.txt\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/animations` from 19.2.19 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/animations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/animations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a97d5ec22d8997665dc2de3d5a78f6e2bac67afd\"\u003e\u003ccode\u003ea97d5ec\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ad717dff1d1aa3d18461b68b5048324001ac4417\"\u003e\u003ccode\u003ead717df\u003c/code\u003e\u003c/a\u003e refactor(core): use the \u003ccode\u003e@Service\u003c/code\u003e decorator where possible.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa\"\u003e\u003ccode\u003eb8d3f36\u003c/code\u003e\u003c/a\u003e feat(compiler-cli): add support for Node.js 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/667219230ac78bd774c7a5cf8ec072b99c02d754\"\u003e\u003ccode\u003e6672192\u003c/code\u003e\u003c/a\u003e test: remove duplicate tests (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/67518\"\u003e#67518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d550bf713a5f558a85cc85639ce96de3677f324a\"\u003e\u003ccode\u003ed550bf7\u003c/code\u003e\u003c/a\u003e build: update minimum supported Node.js versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c\"\u003e\u003ccode\u003e81cabc1\u003c/code\u003e\u003c/a\u003e feat(core): add support for TypeScript 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/abb179466d8cfb512a8b80b1b8a1831ebd910145\"\u003e\u003ccode\u003eabb1794\u003c/code\u003e\u003c/a\u003e refactor(core): mark VERSION exports as pure for better tree-shaking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/26fed34e0e340166b70702d6177ad639bbfa94aa\"\u003e\u003ccode\u003e26fed34\u003c/code\u003e\u003c/a\u003e build: format md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/b9e2ccdda8b428de8259934879e4431bae16a8ce\"\u003e\u003ccode\u003eb9e2ccd\u003c/code\u003e\u003c/a\u003e refactor(common): remove unused import (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64699\"\u003e#64699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/70332b04532311276dd025ba00e8fcb6c1350880\"\u003e\u003ccode\u003e70332b0\u003c/code\u003e\u003c/a\u003e fix(core): pass element removal property through in all locations (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/animations/issues/64565\"\u003e#64565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/animations\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/common` from 19.2.19 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/common/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003effb06c0514\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e2dd65d21e6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e4254eb416c\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e167bd4c162\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003cp\u003e| Commit | Type | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003ccode\u003e2dd65d2\u003c/code\u003e\u003c/a\u003e fix(http): pass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1bd5a562f54b8ec7378e7c7f928285be59091f97\"\u003e\u003ccode\u003e1bd5a56\u003c/code\u003e\u003c/a\u003e docs: deprecate XHR support for server-side rendering in HTTP docs and recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003ccode\u003e3c2892c\u003c/code\u003e\u003c/a\u003e fix(common): prevent prototype pollution in formatDateTime\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003ccode\u003ec4b5fa3\u003c/code\u003e\u003c/a\u003e fix(common): escape CSS string-terminating characters in escapeCssUrl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003ccode\u003e4254eb4\u003c/code\u003e\u003c/a\u003e fix(http): preserve empty referrer option in HttpRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003ccode\u003e167bd4c\u003c/code\u003e\u003c/a\u003e fix(http): Rejects non-HTTP(S) URLs in JSONP requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003ccode\u003edfff57e\u003c/code\u003e\u003c/a\u003e fix(common): Limits date format string length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003ccode\u003e1d87c49\u003c/code\u003e\u003c/a\u003e fix(common): use cryptographically secure SHA-256 for transfer cache key gene...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003ccode\u003effb06c0\u003c/code\u003e\u003c/a\u003e fix(http): ensure query parameters are inserted before URL fragments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4795b35d5be5a7217f648a349c281e674294ef97\"\u003e\u003ccode\u003e4795b35\u003c/code\u003e\u003c/a\u003e fix(common): only strip a literal /index.html suffix from URLs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v22.0.1/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/forms` from 19.2.19 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.1\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003e\u003cimg src=\"https://img.shields.io/badge/c4b5fa3c92-fix-green\" alt=\"fix - c4b5fa3c92\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003e\u003cimg src=\"https://img.shields.io/badge/dfff57ede9-fix-green\" alt=\"fix - dfff57ede9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c2892c8df-fix-green\" alt=\"fix - 3c2892c8df\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e\u003cimg src=\"https://img.shields.io/badge/1d87c49f6e-fix-green\" alt=\"fix - 1d87c49f6e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e\u003cimg src=\"https://img.shields.io/badge/1ee224ca30-fix-green\" alt=\"fix - 1ee224ca30\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003e\u003cimg src=\"https://img.shields.io/badge/a56f1cdf8f-fix-green\" alt=\"fix - a56f1cdf8f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e\u003cimg src=\"https://img.shields.io/badge/5946c18275-fix-green\" alt=\"fix - 5946c18275\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e\u003cimg src=\"https://img.shields.io/badge/393b84caf8-fix-green\" alt=\"fix - 393b84caf8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e\u003cimg src=\"https://img.shields.io/badge/3d9ca2f173-fix-green\" alt=\"fix - 3d9ca2f173\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e\u003cimg src=\"https://img.shields.io/badge/669146b0e7-fix-green\" alt=\"fix - 669146b0e7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e\u003cimg src=\"https://img.shields.io/badge/562a566ead-fix-green\" alt=\"fix - 562a566ead\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003e\u003cimg src=\"https://img.shields.io/badge/fa546f382d-fix-green\" alt=\"fix - fa546f382d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e\u003cimg src=\"https://img.shields.io/badge/29fdb98684-fix-green\" alt=\"fix - 29fdb98684\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/forms/issues/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdcea80327-fix-green\" alt=\"fix - cdcea80327\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e\u003cimg src=\"https://img.shields.io/badge/4289c4c840-fix-green\" alt=\"fix - 4289c4c840\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e\u003cimg src=\"https://img.shields.io/badge/3dd433b39a-fix-green\" alt=\"fix - 3dd433b39a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e\u003cimg src=\"https://img.shields.io/badge/045bb736b3-fix-green\" alt=\"fix - 045bb736b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e\u003cimg src=\"https://img.shields.io/badge/11836a670a-fix-green\" alt=\"fix - 11836a670a\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/85d2d100e3-fix-green\" alt=\"fix - 85d2d100e3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003e\u003cimg src=\"https://img.shields.io/badge/e51ad374ea-fix-green\" alt=\"fix - e51ad374ea\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e\u003cimg src=\"https://img.shields.io/badge/55b7b5a6b6-fix-green\" alt=\"fix - 55b7b5a6b6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eset \u003ccode\u003eadditionalProperties: false\u003c/code\u003e on generated WebMCP form\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ffb06c0514ace66e83160e544dec63f36340c297\"\u003e\u003cimg src=\"https://img.shields.io/badge/ffb06c0514-fix-green\" alt=\"fix - ffb06c0514\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure query parameters are inserted before URL fragments\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/2dd65d21e656186cd2598a11dd51a34fcab2ecfe\"\u003e\u003cimg src=\"https://img.shields.io/badge/2dd65d21e6-fix-green\" alt=\"fix - 2dd65d21e6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epass down the \u003ccode\u003ereportUploadProgress\u003c/code\u003e and \u003ccode\u003ereportDownloadProgress\u003c/code\u003e on post/patch requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4254eb416c81570a6d3313711aaeba7817305320\"\u003e\u003cimg src=\"https://img.shields.io/badge/4254eb416c-fix-green\" alt=\"fix - 4254eb416c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve empty referrer option in HttpRequest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/167bd4c162d6af87cd207650bbc41d6c7a073c22\"\u003e\u003cimg src=\"https://img.shields.io/badge/167bd4c162-fix-green\" alt=\"fix - 167bd4c162\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eRejects non-HTTP(S) URLs in JSONP requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003elanguage-service\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/43a0e2872908d1a614139317e8dfeb52d9f69f75\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a0e28729-fix-green\" alt=\"fix - 43a0e28729\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent external template inlay hints from appearing in TS files\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e22.0.1 (2026-06-10)\u003c/h1\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eXHR support in \u003ccode\u003e@angular/platform-server\u003c/code\u003e is deprecated. Use standard \u003ccode\u003efetch\u003c/code\u003e APIs instead.\n(cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c4b5fa3c9263ac127f5053c5a03dd4b6313659b8\"\u003ec4b5fa3c92\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eescape CSS string-terminating characters in escapeCssUrl\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dfff57ede93dbc51a7eeac3311ff2b1279595ee5\"\u003edfff57ede9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eLimits date format string length\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3c2892c8dffbbbe32940306b53779cc0c4e3f73c\"\u003e3c2892c8df\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent prototype pollution in formatDateTime\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1d87c49f6ee4aac27146f39ef370a87ba707a2c1\"\u003e1d87c49f6e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse cryptographically secure SHA-256 for transfer cache key generation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce\"\u003e1ee224ca30\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisallow i18n event attributes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/a56f1cdf8fa24e335409250798ee804d95eae136\"\u003ea56f1cdf8f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003emore robust logic to check if regex can be optimized\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5946c18275800539b2f47f80a573ee9312a45e8b\"\u003e5946c18275\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize \u003ccode\u003ehref\u003c/code\u003e/\u003ccode\u003exlink:href\u003c/code\u003e attributes of any element of the MathML namespace\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/393b84caf8bda05b31cfac014751deed142eb918\"\u003e393b84caf8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize two-way properties\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler-cli\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3d9ca2f1730689232f0ba1d6eddbd7dcedd1da39\"\u003e3d9ca2f173\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebind switch exhaustive check expressions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/669146b0e74ab1bed4196ccebe1c3608f52fd4f8\"\u003e669146b0e7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable WebMCP during SSR\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/562a566eadfdec3d9708f1a5e03e7dd2821d3432\"\u003e562a566ead\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eHandle synchronous errors in PendingTasks.run function\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/fa546f382de10af46d0508733c6630ffe4bef328\"\u003efa546f382d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden TransferState restoration against DOM clobbering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/29fdb98684a57c99417efb5aac5a3b7f205e2c8f\"\u003e29fdb98684\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent dangling prevConsumer reference from leaking destroyed views (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68681\"\u003e#68681\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cdcea80327e8984981144d99194d7b194da4889f\"\u003ecdcea80327\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erequire WebMCP tool descriptions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/4289c4c8408056eb90cd25cdb76475d00de129d6\"\u003e4289c4c840\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate comment for Default change detection\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/3dd433b39a66609412427f06162fb4ebc2b3e4aa\"\u003e3dd433b39a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003euse Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/045bb736b373a5a0301cde3a4469194404b289c5\"\u003e045bb736b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate lowercase SVG animation attribute names\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eforms\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/11836a670af5c64153d57a2d47b4688605379014\"\u003e11836a670a\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edelay mcp reading the form model by a \u003ccode\u003etick\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/85d2d100e38999f1342742573166c7af0f29b4bd\"\u003e85d2d100e3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eharden FormGroup control lookups against prototype shadowing\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e51ad374ea628de33843332f6798635dc8af02ae\"\u003ee51ad374ea\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove animationstart listener on component destroy to prevent memory leak\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/55b7b5a6b6324c1886eca8dbc492e6af5fc4cd7a\"\u003e55b7b5a6b6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ct...\n\n_Description has been truncated_","html_url":"https://github.com/aleksicdacha/portfolio/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksicdacha%2Fportfolio/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"}}]}