# GitLab !111: Bump the angular group across 1 directory with 11 updates Original: `nessar/vac-optimizer`; GitLab MergeRequest ID 167. Target: [#189](https://gitea.nessar.fr/nessar/vac-optimizer/pulls/189). Author: admin-backup (GitLab user 3). Created: 2026-02-27T20:48:08.000Z. Last source update: 2026-03-01T20:15:15.000Z. Source state: closed; discussion locked: False. This linked record preserves source attribution, timestamps, discussion grouping, review positions and historical diffs. Current Gitea activity is separate from the original source dates. Old CI jobs and their reports are omitted by owner decision. ## Discussions and activity ### Discussion 4053b9d635aa5222160c51eae1fe9d727426de52 #### Source note 640 — admin-backup (GitLab user 3) — 2026-03-01T20:12:19Z ````text `@dependabot` recreate ```` ### Discussion f00a03aabd1848a16175af775ba6c43338785d34 #### Source note 641 — admin-backup (GitLab user 3) — 2026-03-01T20:15:12Z ````text Looks like these dependencies are updatable in another way, so this is no longer needed. ```` ## State event records - {"close_after_error_tracking_resolve": false, "close_auto_resolve_prometheus_alert": false, "created_at": "2026-03-01T20:15:14+00:00", "epic_id": null, "id": 348, "imported_from": 4, "issue_id": null, "merge_request_id": 167, "namespace_id": 38, "source_commit": null, "source_merge_request_id": null, "state": 2, "user_id": 3} ## Historical diff versions ### Diff version 167 — 2026-05-03T16:00:18.331237Z Base `96053b7f5da92830c8922e2c11f15a66e0548521`; start `b0266e31ea25cd38377781151fac658e2ece42ae`; head `e9dd1799140a7468c9044f37c421461515de0c10`. Files: 2; stored commits: 1. #### `package-lock.json` → `None` Modes 100644 → 100644; new=False, deleted=False, renamed=False, binary=False, too_large=False. ````diff @@ -8,17 +8,17 @@ "name": "vac-optimizer", "version": "1.5.0", "dependencies": { - "@angular/animations": "21.1.5", - "@angular/cdk": "^21.1.5", - "@angular/common": "21.1.5", - "@angular/compiler": "21.1.5", - "@angular/core": "21.1.5", - "@angular/forms": "21.1.5", - "@angular/material": "^21.1.5", - "@angular/platform-browser": "21.1.5", - "@angular/platform-server": "21.1.5", - "@angular/router": "21.1.5", - "@angular/ssr": "21.1.4", + "@angular/animations": "21.2.0", + "@angular/cdk": "^21.2.0", + "@angular/common": "21.2.0", + "@angular/compiler": "21.2.0", + "@angular/core": "21.2.0", + "@angular/forms": "21.2.0", + "@angular/material": "^21.2.0", + "@angular/platform-browser": "21.2.0", + "@angular/platform-server": "21.2.0", + "@angular/router": "21.2.0", + "@angular/ssr": "21.2.0", "date-holidays": "^3.26.8", "dayjs": "^1.11.19", "express": "^5.2.1", @@ -348,9 +348,9 @@ } }, "node_modules/@angular/animations": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.1.5.tgz", - "integrity": "sha512-gsqHX8lCYV8cgVtHs0iLwrX8SVlmcjUF44l/xCc/jBC/TeKWRl2e6Jqrn1Wcd0NDlGiNsm+mYNyqMyy5/I7kjw==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.2.0.tgz", + "integrity": "sha512-SzlLoMT/r5wKqPicx5okCAiN5UD5+VE7x/F1G6gSJCcnBfbK5PqHPUmDnMW4jw9Ode06KZDT7ntstn6fG+Ld8w==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -359,7 +359,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.1.5" + "@angular/core": "21.2.0" } }, "node_modules/@angular/build": { @@ -463,9 +463,9 @@ } }, "node_modules/@angular/cdk": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.1.5.tgz", - "integrity": "sha512-AlQPgqe3LLwXCyrDwYSX3m/WKnl2ppCMW7Gb+7bJpIcpMdWYEpSOSQF318jXGYIysKg43YbdJ1tWhJWY/cbn3w==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.0.tgz", + "integrity": "sha512-1P0TNL1F51NC7JAaXabaAHY7Y1zBloLSZXfml1POa4a116V+y/QZfPGsxM0LwD1qSSXhSb2LNl7duTtJAP39bA==", "license": "MIT", "dependencies": { "parse5": "^8.0.0", @@ -515,9 +515,9 @@ } }, "node_modules/@angular/common": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.1.5.tgz", - "integrity": "sha512-olO2F0b+H8YBfsuQFEwo9Hjf+B714xGcttDW37+4jnY2IRS2uYeMu2RGIpY7ps+0uZ017c4iK3CCgSPBgmbTcA==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.0.tgz", + "integrity": "sha512-6zJMPi0i/XDniEgv3/t2BjuDHiOG44lgIR5PYyxqGpgJ0kqB5hku/0TuentNEi1VnBYgthnfhjek7c+lakXmhw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -526,14 +526,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.1.5", + "@angular/core": "21.2.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.5.tgz", - "integrity": "sha512-yRUdWlL+AWcTL4d7zD0jkNqsjvxXpWEihvOfD2gc65DO0+E80DsWIpHq9A8yWeLukbfLcmBGI2QbfW9+SXAlvg==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0.tgz", + "integrity": "sha512-0RPkma8UVNpse/VJcXT9w6SKzTMz4J/uMGj0l9enM1frg9xrx1fwi/lLmaVV9Nr9LfqPjQdxNFFlvaBB7g/2zg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -576,9 +576,9 @@ } }, "node_modules/@angular/core": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.1.5.tgz", - "integrity": "sha512-m61YHiyE+SIvS8UXcFLjYCucv6ShJJCwz9xxEk7ysYW9wOtHdfIf9tgyOsucZDAvrvpSyQLRj5jGBCGm1VIvXA==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.0.tgz", + "integrity": "sha512-VnTbmZq3g3Q+s3nCZ8VUDMLjMezOg/bqUxAJ/DrRWCrEcTP5JO3mrNPs3FHj+qlB0T+BQP7uQv6QTzPVKybwoA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -587,7 +587,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.1.5", + "@angular/compiler": "21.2.0", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0 || ~0.16.0" }, @@ -601,9 +601,9 @@ } }, "node_modules/@angular/forms": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.1.5.tgz", - "integrity": "sha512-Z8Vcgz5KYlCobRxLjyGGUBv0mA4nusuiD36GqYRn3sR780TLDcPFVwTCwVEWLdwID64oiHXG+x9jjU/Z3HzR6A==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.0.tgz", + "integrity": "sha512-NduUtPWLauH/FLayEDkLyaKAGqKzXbcfO7468LOWCXN3crhNVQyIWRQPOUcdpoJwDAGLpN85m3DhJhXNnA9c5w==", "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", @@ -613,22 +613,22 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.1.5", - "@angular/core": "21.1.5", - "@angular/platform-browser": "21.1.5", + "@angular/common": "21.2.0", + "@angular/core": "21.2.0", + "@angular/platform-browser": "21.2.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-21.1.5.tgz", - "integrity": "sha512-D6JvFulPvIKhPJ52prMV7DxwYMzcUpHar11ZcMb7r9WQzUfCS3FDPXfMAce5n3h+3kFccfmmGpnyBwqTlLPSig==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-21.2.0.tgz", + "integrity": "sha512-GVJMgXa/jpy06b/txKMohuMDMu72Or576BSHKehnceYvI9sf25cnGGK1woNhALNDW449KReicAILujcFJ+mO6g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/cdk": "21.1.5", + "@angular/cdk": "21.2.0", "@angular/common": "^21.0.0 || ^22.0.0", "@angular/core": "^21.0.0 || ^22.0.0", "@angular/forms": "^21.0.0 || ^22.0.0", @@ -637,9 +637,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.5.tgz", - "integrity": "sha512-rAN0cu05Pg7HHe9JMRd3g5JyyVCeFW8QiB/jG6klUrOTF4QzyCbmwlm7MX0uTx3CWAZraWCGbdahUkLyYtuqFA==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0.tgz", + "integrity": "sha512-IUGukpvvT2B5Dl76qzk6rY7UIHUT9u4BhT2AwVz+5JqcX9KwQtYD17Gt7wj6bvIgCXKWG+CfN8Zd9DECOCYWjg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -648,9 +648,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "21.1.5", - "@angular/common": "21.1.5", - "@angular/core": "21.1.5" + "@angular/animations": "21.2.0", + "@angular/common": "21.2.0", + "@angular/core": "21.2.0" }, "peerDependenciesMeta": { "@angular/animations": { @@ -679,9 +679,9 @@ } }, "node_modules/@angular/platform-server": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-21.1.5.tgz", - "integrity": "sha512-7S66We60szZ5M/LfW6OAvua+qNCS08IHFN0Re5ZwqqfyDVBGPt18JUN6NKR5FfAhW4s5B9+TtF+tdLcxYxHWaQ==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-21.2.0.tgz", + "integrity": "sha512-XE/0HTYlPpO37aOOc4BEH1AZMDcPOGd2FoZcwGoWDRWhXYrRqzgcX4h1q0WxmMZRe/p7hEd3g9lrf3Vdjj/4ZQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0", @@ -691,17 +691,17 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.1.5", - "@angular/compiler": "21.1.5", - "@angular/core": "21.1.5", - "@angular/platform-browser": "21.1.5", + "@angular/common": "21.2.0", + "@angular/compiler": "21.2.0", + "@angular/core": "21.2.0", + "@angular/platform-browser": "21.2.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/router": { - "version": "21.1.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.1.5.tgz", - "integrity": "sha512-OjFn6Nw51CU712CMbl2U9TxlCkzOmjMLYPAfnV4+RdG7o+/eOS2nV0oapJ88RNCw7Yl04PA1amc3ql3agDFd4A==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.0.tgz", + "integrity": "sha512-siliJ+jJRUCRZ0cdkqc7zww9Didz56Z0Z2YPIuR2n5TZLiuJY+jAf6xotXKp/v6v8XoGJwLiRNipGgNDRIAlWA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -710,16 +710,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.1.5", - "@angular/core": "21.1.5", - "@angular/platform-browser": "21.1.5", + "@angular/common": "21.2.0", + "@angular/core": "21.2.0", + "@angular/platform-browser": "21.2.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/ssr": { - "version": "21.1.4", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-21.1.4.tgz", - "integrity": "sha512-KUKEuZPS9NOeN0mmlG7nld9U9cxDfqR0DG/Kf2QglfoiTmEXundytrC27u63feIby2hULR7mQWZ+Ouj9Hh78NQ==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-21.2.0.tgz", + "integrity": "sha512-NqtCNJETO1ocQ0F3pK4KxkoDkPxI2qN2YPEBLPAGTrLXxTb6vM06LwYa6tTwFm0sk26tfOGTuauJV1KhRnDcVQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" ```` #### `package.json` → `None` Modes 100644 → 100644; new=False, deleted=False, renamed=False, binary=False, too_large=False. ````diff @@ -27,17 +27,17 @@ }, "private": true, "dependencies": { - "@angular/animations": "21.1.5", - "@angular/cdk": "^21.1.5", - "@angular/common": "21.1.5", - "@angular/compiler": "21.1.5", - "@angular/core": "21.1.5", - "@angular/forms": "21.1.5", - "@angular/material": "^21.1.5", - "@angular/platform-browser": "21.1.5", - "@angular/platform-server": "21.1.5", - "@angular/router": "21.1.5", - "@angular/ssr": "21.1.4", + "@angular/animations": "21.2.0", + "@angular/cdk": "^21.2.0", + "@angular/common": "21.2.0", + "@angular/compiler": "21.2.0", + "@angular/core": "21.2.0", + "@angular/forms": "21.2.0", + "@angular/material": "^21.2.0", + "@angular/platform-browser": "21.2.0", + "@angular/platform-server": "21.2.0", + "@angular/router": "21.2.0", + "@angular/ssr": "21.2.0", "date-holidays": "^3.26.8", "dayjs": "^1.11.19", "express": "^5.2.1", ````