angular/angular
Deliver web apps with confidence 🚀
How angular is put together
This is the Angular framework monorepo (angular/angular), a TypeScript-first web framework whose core source lives under packages/ and is built and tested with Bazel (via bazelisk). The repo is organized as a pnpm workspace containing the framework packages, an Angular-based documentation site (adev), an internal developer app (dev-app), Angular DevTools browser extension (devtools), integration test apps (integration/), auxiliary modules, goldens for public API checks, and tooling under tools/. Data flow is primarily build-time: Bazel orchestrates compilation of TS sources into distributable npm packages, with tests run through Karma/Jasmine, Protractor/Selenium, Cypress, and Vitest; there is no server-side datastore in this repository.
Languages
Frameworks
Infrastructure
Major components
packages/
The core Angular framework source (compiler, core, common, router, forms, platform-*, ssr, service-worker, etc.) built into publishable npm packages.
adev/
The angular.dev documentation site, an Angular SSR application with shared-docs library, CodeMirror editors, Shiki highlighting, Algolia search, and Tailwind styling.
devtools/
Angular DevTools browser extension source, including iframe message-bus communication with inspected apps and Cypress e2e tests.
integration/
Standalone integration test applications (e.g., animations, cli-hello-world-ivy-i18n) exercising published Angular behavior end-to-end.
goldens/
Golden files for public API surface checks (manage.js) and vscode-extension package contents verification.
tools/
Shared Bazel macros/rules (defaults.bzl, ng_benchmark.bzl) and utilities such as the symbol-extractor used across the monorepo.
.ng-dev/
Repository maintenance configuration for commit messages, formatting, caretaking, releases, and GitHub workflows via the private ng-dev tool.
vscode-ng-language-service/
Submodule/workspace area for the VS Code Angular language service extension, excluded from main CI test runs.
A quiet week focused on dependency updates, DevTools polish, and documentation guidance.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A quiet week focused on dependency updates, DevTools polish, and documentation guidance.
Week of 2026-08-17
A busy week that fixed a TransferState security issue, hardened against prototype collisions, and shipped the v22.2.0-next.3 release.
Week of 2026-08-10
New router resource features landed, tests moved off the aging Protractor framework, and v22.2.0-next.2 was released.
Week of 2026-08-03
DevTools gained persistent breakpoints on signals via Chrome's debugging protocol, and HTTP handling got more robust.
Week of 2026-07-27
Compiler CSS scoping fixes, better hydration error messages, and the first v22.2.0 pre-release headlined the week.
Over the past five weeks the Angular team shipped a steady stream of security and correctness fixes (including a TransferState prototype-pollution fix and several prototype-collision guards), new router resource features, and a wave of DevTools improvements like persistent signal breakpoints. The project also cut multiple releases — v22.2.0 progressed from next.0 to next.3 alongside patch releases for v20.x, v21.x, and v22.1.x — while modernizing its test infrastructure by moving off Protractor and updating docs tooling.
Week by week
2026-08-24A quiet week focused on dependency updates, DevTools polish, and documentation guidance.latest3 changes
Chore
Cross-repo dependency update
Internal Angular package dependencies were refreshed across repositories.
Refactor
DevTools profiler text cleanup
The instructions shown for clearing profiler recordings were reworded for clarity.
Docs
Self-closing tag guidelines added
The components reference now includes guidance on using self-closing tags.
2026-08-17A busy week that fixed a TransferState security issue, hardened against prototype collisions, and shipped the v22.2.0-next.3 release.6 changes
Fix
TransferState security fix
Closed a prototype pollution vulnerability in server-side state transfer that could let attackers tamper with app behavior.
Fix
Prototype collision hardening
Core and common packages were updated so objects can't accidentally collide with built-in JavaScript prototype members.
Fix
Standalone bootstrap migration fix
The migration tool no longer drops registerLocaleData calls when converting apps to standalone bootstrap.
Fix
Language service quote-style imports
Auto-generated imports in your editor now respect your preferred quote style.
Fix
Deferred import deduplication
The compiler now avoids duplicating lazy-loaded imports when the same module appears in multiple defer blocks.
Chore
Multiple releases cut
v22.2.0-next.3 was released, plus release notes for v22.1.3 and v20.3.29 patches.
2026-08-10New router resource features landed, tests moved off the aging Protractor framework, and v22.2.0-next.2 was released.6 changes
Feature
Router resources support
The router gained support for blocking and non-blocking resources, letting routes wait on data before loading.
Feature
Private property access in templates
Templates can now access private class properties, expanding what component authors can bind to.
Chore
Protractor retirement
Core, examples, playground, and docs-site test suites were all switched away from the deprecated Protractor testing tool.
Fix
VS Code extension security fix
Patched a command URI injection vulnerability in the TypeScript SDK approval flow of the Angular VS Code extension.
Fix
Oversized response cancellation
HTTP requests now cancel fetch responses whose bodies exceed size limits instead of hanging.
Chore
Releases and infrastructure updates
v22.2.0-next.2 was released with notes for v22.1.2, v21.2.20, and v20.3.28, alongside Node 24 and pnpm upgrades.
2026-08-03DevTools gained persistent breakpoints on signals via Chrome's debugging protocol, and HTTP handling got more robust.6 changes
Feature
Persistent signal breakpoints
Angular DevTools can now pause execution when specific signal values change, using Chrome's debugging protocol.
Fix
HTTP charset handling
JSON responses are always decoded as UTF-8, and the fetch backend now respects content-type character sets.
Fix
Cookie parsing fixes
Cookie parsing strips stray quote characters and handles malformed values without crashing.
Fix
Clearer hydration errors
Missing hydration nodes now produce a descriptive error message instead of an unexplained crash.
Refactor
DevTools build modernization
DevTools now relies on esbuild for code downleveling since it runs zoneless, simplifying its build pipeline.
Chore
v22.2.0-next.1 released
A new pre-release was cut along with release notes for the v22.1.1 patch.
2026-07-27Compiler CSS scoping fixes, better hydration error messages, and the first v22.2.0 pre-release headlined the week.6 changes
Fix
Nested CSS scoping fixes
Component styles now correctly scope nested CSS rules and skip encapsulation when ::ng-deep is present.
Fix
Friendlier hydration mismatch errors
Element hydration mismatches now throw a proper Angular error code instead of a raw TypeError.
Fix
Radio input sync fix
Radio buttons stay correctly selected when their option values change dynamically.
Fix
HTTP interceptor ordering
Root-level interceptors now run at the correct point in the request chain.
Refactor
Test modernization continues
Forms, common, and animations test suites were updated to use the newer whenStable API.
Chore
v22.2.0-next.0 released
The first pre-release of the next minor version was cut, and DevTools bumped to version 1.19.0.
Dependencies and code review
Dependency advisories
Security Watch
2 vulnerable packages (3 advisories) across 78 scanned dependencies.
semver 7.3.5
1 advisory. Fixed in 7.5.2.
How it can be abusedAn attacker could send a specially crafted version string that makes the semver library hang while matching it, freezing any build or tooling process that parses versions. In this repo semver is only used by build and release scripts, so developers running those tools are affected, not end users of Angular apps.
- highGHSA-c2qf-rxjj-qqgwsemver vulnerable to Regular Expression Denial of Service
ws 8.15.0
2 advisories. Fixed in 5.2.4.
How it can be abusedAn attacker could crash a server by sending it a WebSocket request stuffed with thousands of HTTP headers, or many tiny message fragments, causing the server to run out of memory. In this repo ws is only used by local development and test tooling like the dev server and Karma, so real users of Angular apps are not exposed; only developers running those tools on untrusted networks could be affected.
- highGHSA-3h5v-q93c-6h6qws affected by a DoS when handling a request with many HTTP headers
- highGHSA-96hv-2xvq-fx4pws: Memory exhaustion DoS from tiny fragments and data chunks
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required