{"full_name":"angular/angular","owner":"angular","name":"angular","url":"https://github.com/angular/angular","description":"Deliver web apps with confidence 🚀","homepage":"https://angular.dev","topics":[],"language":"TypeScript","license":"MIT","avatar":"https://avatars.githubusercontent.com/u/139426?v=4","created_at":"2014-09-18T16:12:01Z","pushed_at":"2026-11-10T01:49:57Z","metrics":{"stars":101466,"forks":28198,"watchers":2991,"issues":31131,"prs":38703,"releases":726,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":26},"growth":{"day":{"stars":1,"forks":-440,"base_day":"2026-11-09"},"week":{"stars":368,"forks":-735,"base_day":"2026-11-03"},"month":{"stars":446,"forks":-1259,"base_day":"2026-10-11"}},"history":{"dates":["2026-09-06","2026-09-07","2026-09-08","2026-09-09","2026-09-10","2026-09-11","2026-09-12","2026-09-13","2026-09-14","2026-09-15","2026-09-16","2026-09-17","2026-09-18","2026-09-19","2026-09-20","2026-09-21","2026-09-22","2026-09-23","2026-09-24","2026-09-25","2026-09-26","2026-09-27","2026-09-28","2026-09-29","2026-09-30","2026-10-01","2026-10-02","2026-10-03","2026-10-04","2026-10-05","2026-10-06","2026-10-07","2026-10-08","2026-10-09","2026-10-10","2026-10-11","2026-10-12","2026-10-13","2026-10-14","2026-10-15","2026-10-16","2026-10-17","2026-10-18","2026-10-19","2026-10-20","2026-10-21","2026-10-22","2026-10-23","2026-10-24","2026-10-25","2026-10-26","2026-10-27","2026-10-28","2026-10-29","2026-10-30","2026-10-31","2026-11-01","2026-11-02","2026-11-03","2026-11-04","2026-11-09","2026-11-10"],"stars":[101004,101005,101001,101005,101005,101004,101008,101020,101021,101005,101010,101009,101016,101020,100995,100992,100997,100994,101005,101009,101009,101009,101010,101015,101022,101022,101027,101031,101038,101034,101027,101025,101023,101010,101014,101020,101013,101018,101022,101023,101025,101036,101050,101056,101060,101062,101071,101110,101107,101100,101100,101098,101101,101100,101095,101092,101086,101082,101098,101097,101465,101466],"forks":[27437,27435,27438,27441,27442,27440,27439,27448,27445,27444,27443,27443,27444,27449,27440,27444,27451,27453,27454,27507,27690,27788,27919,28025,28189,28188,28227,28341,28489,28646,28864,29021,29045,29124,29198,29457,29490,29587,29587,29743,29913,30114,30240,30415,30449,30598,30597,30752,30492,30280,30354,30299,30166,29583,29581,29580,29569,29554,28933,28937,28638,28198],"watchers":[3007,3007,3007,3007,3007,3007,3008,3012,3010,3010,3010,3010,3010,3010,2998,2997,2998,2999,2999,2999,2999,2999,2999,2999,3000,3001,3000,2999,2999,2999,2999,3000,2999,2999,2999,2998,2996,2996,2997,3003,3003,3001,3005,3006,3004,3003,3003,3002,2996,2989,2990,2990,2984,2985,2985,2987,2985,2984,2983,2982,2991,2991],"issues_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"prs_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"boards":{"total":140},"same_owner":[{"full_name":"angular/angular.js","name":"angular.js","boards":{}},{"full_name":"angular/flex-layout","name":"flex-layout","boards":{}},{"full_name":"angular/material","name":"material","boards":{}}],"issues":[{"number":18877,"title":"Feature: Hostless components","comments":123,"created_at":"2017-08-25T11:13:58Z"},{"number":11447,"title":"Add readonly to FormControl formstate","comments":116,"created_at":"2016-09-08T16:46:32Z"},{"number":11058,"title":"HttpParameterCodec improperly encodes special characters like '+' and '='","comments":112,"created_at":"2016-08-25T08:05:11Z"},{"number":17766,"title":"Feature: @Directive should support styles and styleUrls properties","comments":109,"created_at":"2017-06-26T09:58:43Z"},{"number":23279,"title":"asynchronous providers","comments":89,"created_at":"2018-04-10T01:38:53Z"},{"number":1858,"title":"Can't retrieve attributes of the top-level component","comments":86,"created_at":"2015-05-13T03:25:38Z"},{"number":54782,"title":"Support for setting Input Signals programmatically given a directive instance","comments":80,"created_at":"2024-03-08T17:01:49Z"},{"number":12157,"title":"Query params always purport to be empty on page load even though provided","comments":76,"created_at":"2016-10-07T19:11:14Z"}],"discussions":[{"number":66779,"title":"[Complete] RFC: Setting OnPush as the default Change Detection Strategy","comments":34,"category":"RFCs","created_at":"2026-01-27T22:14:23Z"},{"number":63766,"title":"[Closed] RFC: AI-Enabled Applications","comments":15,"category":"RFCs","created_at":"2025-09-12T16:50:47Z"},{"number":62524,"title":"[Summary] RFC - Animation In and Out","comments":0,"category":"RFCs","created_at":"2025-07-08T17:14:28Z"},{"number":62212,"title":"[Complete] RFC - Animation In and Out","comments":35,"category":"RFCs","created_at":"2025-06-23T11:43:09Z"},{"number":61733,"title":"[Complete] RFC - Angular official mascot","comments":1178,"category":"RFCs","created_at":"2025-05-28T18:32:42Z"},{"number":60121,"title":"[Complete] Resource RFC 2: APIs","comments":50,"category":"RFCs","created_at":"2025-02-26T16:58:28Z"},{"number":60120,"title":"[Complete] Resource RFC 1: Architecture","comments":22,"category":"RFCs","created_at":"2025-02-26T16:57:23Z"},{"number":59522,"title":"[Summary] RFC: An updated style guide for the year 2025","comments":1,"category":"RFCs","created_at":"2025-01-14T21:10:00Z"}],"latest_release":{"name":"22.2.5","tag":"v22.2.5","published_at":"2026-11-06T19:37:09Z","body":"### core\n| Commit | Description |\n| -- | -- |\n| [![fix - 6f06af76c9](https://img.shields.io/badge/6f06af76c9-fix-green)](https://github.com/angular/angular/commit/6f06af76c931a6924993e9f061fe99c5128a3ceb) | add debugName option to rxResource |\n| [![fix - 8c426b6cbc](https://img.shields.io/badge/8c426b6cbc-fix-green)](https://github.com/angular/angular/commit/8c426b6cbc132b1591eb42f0570edc22531223e4) | escape comment markers which share characters |\n| [![fix - ca3afffbdc](https://img.shields.io/badge/ca3afffbdc-fix-green)](https://github.com/angular/angular/commit/ca3afffbdc3378e8b5597aa04b6502d1b875db20) | remove attribute when img/video attr.src is null or undefined |\n### forms\n| Commit | Description |\n| -- | -- |\n| [![fix - 545eb3d07b](https://img.shields.io/badge/545eb3d07b-fix-green)](https://github.com/angular/angular/commit/545eb3d07baee57d6a8c15729b36b9ceba84d766) | reflect required validators in compat fields |\n| [![fix - a7b0e8ef9d](https://img.shields.io/badge/a7b0e8ef9d-fix-green)](https://github.com/angular/angular/commit/a7b0e8ef9d676135f8ba66d554766c8e9472f00b) | support updateOn blur and submit for custom FormValueControl |\n| [![perf - 96b027ebf6](https://img.shields.io/badge/96b027ebf6-perf-orange)](https://github.com/angular/angular/commit/96b027ebf68e7b2ca341c516d96063c39248d65c) | avoid creating unused field injectors |\n### router\n| Commit | Description |\n| -- | -- |\n| [![fix - ca42fefa56](https://img.shields.io/badge/ca42fefa56-fix-green)](https://github.com/angular/angular/commit/ca42fefa566048ac6f52b5e3714ec61929d81ad3) | read focusReset from the navigation extras |\n| [![perf - 585271376a](https://img.shields.io/badge/585271376a-perf-orange)](https://github.com/angular/angular/commit/585271376ab924e9457d38911fe315fd89f9bd34) | run loadComponent and loadChildren in root environment injector (g3-only) |\n"},"readme":true,"readme_zh":false,"news":[{"title":"Unit tests fail when run in Australia","url":"https://github.com/angular/angular.js/issues/5017","hn":"https://news.ycombinator.com/item?id=9338071","source":"Hacker News","lang":"en","date":"2015-04-08","points":285,"comments":112},{"title":"Angular v8.0","url":"https://github.com/angular/angular-cli/releases","hn":"https://news.ycombinator.com/item?id=20038852","source":"Hacker News","lang":"en","date":"2019-05-29","points":274,"comments":201},{"title":"Angular 2 Release Candidate","url":"https://github.com/angular/angular/blob/master/CHANGELOG.md","hn":"https://news.ycombinator.com/item?id=11617887","source":"Hacker News","lang":"en","date":"2016-05-03","points":177,"comments":135},{"title":"AngularJS 1.4","url":"https://github.com/angular/angular.js/blob/master/CHANGELOG.md","hn":"https://news.ycombinator.com/item?id=9611406","source":"Hacker News","lang":"en","date":"2015-05-27","points":91,"comments":12},{"title":"Angular 2 docs for ES6/7","url":"https://github.com/angular/angular/issues/7600","hn":"https://news.ycombinator.com/item?id=12813653","source":"Hacker News","lang":"en","date":"2016-10-28","points":45,"comments":59},{"title":"Show HN: I quit my job, took up cooking as a hobby and built a Meal Planning app","url":"https://tastybites.app/","hn":"https://news.ycombinator.com/item?id=38590287","source":"Hacker News","lang":"en","date":"2023-12-10","points":7,"comments":1},{"title":"Ask HN: How to justify the bloat of modern JavaScript frameworks?","url":"https://news.ycombinator.com/item?id=12507496","hn":"https://news.ycombinator.com/item?id=12507496","source":"Hacker News","lang":"en","date":"2016-09-15","points":5,"comments":2},{"title":"Ask HN: Why does OS project show history only from the first functional version?","url":"https://news.ycombinator.com/item?id=7311777","hn":"https://news.ycombinator.com/item?id=7311777","source":"Hacker News","lang":"en","date":"2014-02-27","points":1,"comments":0},{"title":"How to link an Angular project with a Git repository","url":"https://note.com/haru_hira/n/n321eeb222743?hl=en","source":"note","lang":"en","date":"2020-01-20"},{"title":"Angular 官方的智能体 Skills 助力 AI 编程工具生成现代化的 Angular 代码","url":"https://news.google.com/rss/articles/CBMiXkFVX3lxTE1Na25kYTNqcktFTlRsb3JGaWZZdndiUVZMSDM1aDVLWWU1WHd4UmlOdHhLc0kzNThmVVYtOE85dS1YYVRfZFFVU1ZiNnl2MllFdUlKVFJZYjRhbEdWV2c?oc=5","source":"InfoQ.cn","lang":"zh","date":"2026-06-23"},{"title":"React vs Angular: which to choose for your project in 2026","url":"https://news.google.com/rss/articles/CBMiWEFVX3lxTE82eHpnSUJGb3ZHNTJlRk56UHQwRGhsMkpOLVRHeGx2Tk9QZXUtQTExZGNLcHpTN212M3g1eHo2d1FXWEIyTG1fY2VWSEZkNEFlWjhsaUtyUS0?oc=5","source":"Netguru","lang":"en","date":"2026-06-18"},{"title":"GitHub Internal Repositories Breached via Malicious Nx Console VS Code Extension","url":"https://news.google.com/rss/articles/CBMiggFBVV95cUxPb21XSjEyZ0F5ODdWeEVGQWRPNWl0SXo4Ty1lM3ZzZ0hHUWJ2UEhZMEpSOVFWQTRfSkRtZ0VnVkVDRU81S3lCQ081cGZ6RGZha1ZvVkNHWm1lWU9hTnZnb0czMTVVaGlhN21Bc1hGdUFHR1gyeTY4WDh1Z3I4MFlvRFhB?oc=5","source":"The Hacker News","lang":"en","date":"2026-05-21"},{"title":"前端圈炸了！AntV、VS Code 插件同时被投毒！","url":"https://news.google.com/rss/articles/CBMiU0FVX3lxTE9Kd3hOcVRkc3VxM19XS1k0akFsZmtlTFkwdnVzcXJLRDl5dEJwQWtlSHpUakpMcE5WaF9EdjZJQVFjakNyeFhhSlBySk84Ymx3QUJJ?oc=5","source":"51CTO","lang":"zh","date":"2026-05-20"},{"title":"The Worm That Keeps on Digging: TeamPCP Hits @antv in Latest Wave","url":"https://news.google.com/rss/articles/CBMiekFVX3lxTE9nUEJ3QXJlQkx0LWNTbHNGMEUxRHl0VGVlZXJqWEc2c0VYbndYdklMT2NTQXUzNzZpb2thd3dYTzdXZ3JONUVwaklWS21GRlZmT0J4MVVZTWg4UXZWbEVwRFU5d1F5cG5HZVdWWGxSektKZHBsel92TThB?oc=5","source":"wiz.io","lang":"en","date":"2026-05-19"},{"title":"Nx Console VS Code Extension Compromised","url":"https://news.google.com/rss/articles/CBMifkFVX3lxTE9wYU00T1haYzdYVEE1RVRpek13b0phZ2lGOUI2eU5rYkJwNnNub2FidTNpanZlZTBBWU5DMS1BTDF0OFIwdHBFNWhveGFRb0J3aE5GUGs3eDNkVmdOcF9hTmJubkNZVmpOVnhXMGtVX0F6d3JGeDdhNEJ6c2wzUQ?oc=5","source":"Step Security","lang":"en","date":"2026-05-18"},{"title":"10 个面向前端开发者的 MCP 服务器","url":"https://news.google.com/rss/articles/CBMiXkFVX3lxTE5KS2EtRG5hUXY5MkZCZVBnNV9oVU9sMUVMZGNuUzgybmk4TnNOTUE1Ung3MS1oWUtTaTVOT3R3SDlyWElUd2JTVjFPRHBwbG5vUGc4S29qVTFCajgyWXc?oc=5","source":"InfoQ.cn","lang":"zh","date":"2025-09-27"},{"title":":fire: Tinyflow AI 工作流编排框架 v0.0.4 发布","url":"https://news.google.com/rss/articles/CBMiS0FVX3lxTE0tYm1OamFQOHNVT2NQZHZ0YlFVSW5PNDlxWHNiRlBJWHVNOFJ0bU9CQ2VFMTdPaTVrQUVOWDFENENydzBfV3ZZWXA2bw?oc=5","source":"OSCHINA","lang":"zh","date":"2025-02-28"},{"title":"Angular and RxJS: Adding a REST API Back End","url":"https://news.google.com/rss/articles/CBMie0FVX3lxTE9pSFhLanJ2NEtIZ2VQSE1GYUlGM0taMjR4aU1BXzYzSjUySTZEWXp4RnV1NTl6b0tINzI3bi1ldDd3X3RZV3N0d2tqaHZGaExtRTVlaHdtU1NDVnlqX2Rkcng3SFhpZHJ1Y0FJR3d5X0JmTlhMM0NncjFuUQ?oc=5","source":"SitePoint","lang":"en","date":"2024-11-18"},{"title":"75亿美元！微软宣布将收购代码托管平台GitHub","url":"https://news.google.com/rss/articles/CBMiSkFVX3lxTFBiXzVMWEFPT3Y4bEMyYnN1NUVUaHc0NFYyb3pEbkd4OXZFdlhtcFd6WmdLazJnYzRfc1JfY0UtUjh2TEFQSlI4UHBn?oc=5","source":"全天候科技","lang":"zh","date":"2018-06-04"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}