{"id":167839953,"number":"21.1.2","published_at":"2026-01-28T20:36:25.024Z","licenses":"MIT","integrity":"sha512-NK26OG1+/3EXLDWstSPmdGbkpt8bP9AsT9J7EBornMswUjmQDbjyb85N/esKjRjDMkw4p/aKpBo24eCV5uUmBA==","status":null,"download_url":"https://registry.npmjs.org/@angular/common/-/common-21.1.2.tgz","registry_url":"https://www.npmjs.com/package/@angular/common/v/21.1.2","documentation_url":null,"install_command":"npm install @angular/common@21.1.2","immutable":null,"metadata":{"deprecated":null,"_npmUser":{"name":"google-wombot","email":"node-team-npm+wombot@google.com"},"dist":{"shasum":"5d632b38e8dd46dbf83fcfde87fafbd943fba81e","tarball":"https://registry.npmjs.org/@angular/common/-/common-21.1.2.tgz","fileCount":5228,"integrity":"sha512-NK26OG1+/3EXLDWstSPmdGbkpt8bP9AsT9J7EBornMswUjmQDbjyb85N/esKjRjDMkw4p/aKpBo24eCV5uUmBA==","signatures":[{"sig":"MEUCIQDSXQE+C66QX4DQzj6sK/mUUi0Gm6StjoQpkdGXHhtzWwIgXfN9RXbSvexe3WhFqYVqjafZgBdckZ6zmtpPtWr5iX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9469564},"gitHead":"0d985c2da3fbe7abaedf3006aea0ad1e66687811","main":null,"scripts":null,"_npmVersion":"10.9.4","_nodeVersion":"22.22.0","_hasShrinkwrap":false,"directories":{},"engines":{"node":"^20.19.0 || ^22.12.0 || \u003e=24.0.0"},"exports":{".":{"types":"./types/common.d.ts","default":"./fesm2022/common.mjs"},"./http":{"types":"./types/http.d.ts","default":"./fesm2022/http.mjs"},"./testing":{"types":"./types/testing.d.ts","default":"./fesm2022/testing.mjs"},"./upgrade":{"types":"./types/upgrade.d.ts","default":"./fesm2022/upgrade.mjs"},"./locales/*":{"types":"./locales/*.d.ts","default":"./locales/*.js"},"./http/testing":{"types":"./types/http-testing.d.ts","default":"./fesm2022/http-testing.mjs"},"./package.json":{"default":"./package.json"},"./locales/global/*":{"default":"./locales/global/*.js"}},"browserify":null},"created_at":"2026-01-29T13:04:47.535Z","updated_at":"2026-02-04T00:26:06.172Z","purl":"pkg:npm/%40angular/common@21.1.2","related_tag":{"name":"v21.1.2","sha":"4f0d29d92ab24dec3a22b14c6cb6044d9baa4cca","kind":"commit","published_at":"2026-01-28T20:36:08.000Z","download_url":"https://codeload.github.com/angular/angular/tar.gz/v21.1.2","html_url":"https://github.com/angular/angular/releases/tag/v21.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/angular/angular@v21.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/v21.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/tags/v21.1.2/manifests","release_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular/releases/v21.1.2"},"latest":false,"version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Fcommon/versions/21.1.2","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Fcommon/versions/21.1.2/codemeta","dependencies":[{"id":1872114674,"ecosystem":"npm","package_name":"tslib","requirements":"^2.3.0","kind":"runtime","optional":false}],"advisories":[{"uuid":"GSA_kwCzR0hTQS1wMjk3LWZtNjgtM3E4Y84ABxU2","identifiers":["GHSA-p297-fm68-3q8c","CVE-2026-88059"],"url":"https://github.com/advisories/GHSA-p297-fm68-3q8c","title":"Angular: Information Leak via `HttpTransferCache` Bypass When Using `withRequestsMadeViaParent`","severity":"MODERATE","affected":true,"fixed":false,"fixed_versions":["20.3.28","21.2.20","22.1.1"]},{"uuid":"GSA_kwCzR0hTQS1qaHB3LTk3Nm0tNTQyas4ABhGc","identifiers":["GHSA-jhpw-976m-542j","CVE-2026-68945"],"url":"https://github.com/advisories/GHSA-jhpw-976m-542j","title":"Angular: Cache-Key Ambiguity in HttpTransferCache Leading to Cross-Request Response Reuse and State Poisoning","severity":"HIGH","affected":true,"fixed":false,"fixed_versions":["20.3.27","21.2.19","22.0.2"]},{"uuid":"GSA_kwCzR0hTQS00OHI3LWhwbTYtZ2Z4bc4ABYrW","identifiers":["GHSA-48r7-hpm6-gfxm","CVE-2026-54268"],"url":"https://github.com/advisories/GHSA-48r7-hpm6-gfxm","title":"@angular/common: Denial of Service (DoS) via OOM in Date Formatting (formatDate)","severity":"HIGH","affected":true,"fixed":false,"fixed_versions":["20.3.25","21.2.17","22.0.1"]},{"uuid":"GSA_kwCzR0hTQS0zOXB2LTRqNmMtMmc2ds4ABYrV","identifiers":["GHSA-39pv-4j6c-2g6v","CVE-2026-54266"],"url":"https://github.com/advisories/GHSA-39pv-4j6c-2g6v","title":"@angular/common: Weak 32-Bit Cache Key Hashing in `HttpTransferCache` Leading to Cross-Request Data Leakage and State Poisoning","severity":"HIGH","affected":true,"fixed":false,"fixed_versions":["20.3.25","21.2.17","22.0.1"]},{"uuid":"GSA_kwCzR0hTQS1wM3ZjLTM2ZzkteDlncs4ABYrK","identifiers":["GHSA-p3vc-36g9-x9gr","CVE-2026-50171"],"url":"https://github.com/advisories/GHSA-p3vc-36g9-x9gr","title":"@angular/common: Denial of Service (DoS) via OOM in Number Formatting (digitsInfo)","severity":"HIGH","affected":true,"fixed":false,"fixed_versions":["21.2.15","19.2.23","20.3.22","22.0.0-rc.2"]},{"uuid":"GSA_kwCzR0hTQS1xNmY0LXFxcmctanY2eM4ABYrJ","identifiers":["GHSA-q6f4-qqrg-jv6x","CVE-2026-50170"],"url":"https://github.com/advisories/GHSA-q6f4-qqrg-jv6x","title":"@angular/common: Information Leak via Default Caching of Credentialed Requests in HttpTransferCache","severity":"HIGH","affected":true,"fixed":false,"fixed_versions":["21.2.15","19.2.23","20.3.22","22.0.0-rc.2"]}],"package_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@angular%2Fcommon"}