{ "CI_job_history_included": false, "approvals": [], "diff_versions": [ { "commits": [ { "authored_date": null, "commit_author_id": null, "committed_date": null, "committer_id": null, "merge_request_commits_metadata_id": 277, "merge_request_diff_id": 167, "message": null, "project_id": null, "relative_order": 0, "sha": null, "trailers": {} } ], "files": [ { "a_mode": "100644", "b_mode": "100644", "binary": false, "deleted_file": false, "diff": "@@ -8,17 +8,17 @@\n \t\t\t\"name\": \"vac-optimizer\",\n \t\t\t\"version\": \"1.5.0\",\n \t\t\t\"dependencies\": {\n-\t\t\t\t\"@angular/animations\": \"21.1.5\",\n-\t\t\t\t\"@angular/cdk\": \"^21.1.5\",\n-\t\t\t\t\"@angular/common\": \"21.1.5\",\n-\t\t\t\t\"@angular/compiler\": \"21.1.5\",\n-\t\t\t\t\"@angular/core\": \"21.1.5\",\n-\t\t\t\t\"@angular/forms\": \"21.1.5\",\n-\t\t\t\t\"@angular/material\": \"^21.1.5\",\n-\t\t\t\t\"@angular/platform-browser\": \"21.1.5\",\n-\t\t\t\t\"@angular/platform-server\": \"21.1.5\",\n-\t\t\t\t\"@angular/router\": \"21.1.5\",\n-\t\t\t\t\"@angular/ssr\": \"21.1.4\",\n+\t\t\t\t\"@angular/animations\": \"21.2.0\",\n+\t\t\t\t\"@angular/cdk\": \"^21.2.0\",\n+\t\t\t\t\"@angular/common\": \"21.2.0\",\n+\t\t\t\t\"@angular/compiler\": \"21.2.0\",\n+\t\t\t\t\"@angular/core\": \"21.2.0\",\n+\t\t\t\t\"@angular/forms\": \"21.2.0\",\n+\t\t\t\t\"@angular/material\": \"^21.2.0\",\n+\t\t\t\t\"@angular/platform-browser\": \"21.2.0\",\n+\t\t\t\t\"@angular/platform-server\": \"21.2.0\",\n+\t\t\t\t\"@angular/router\": \"21.2.0\",\n+\t\t\t\t\"@angular/ssr\": \"21.2.0\",\n \t\t\t\t\"date-holidays\": \"^3.26.8\",\n \t\t\t\t\"dayjs\": \"^1.11.19\",\n \t\t\t\t\"express\": \"^5.2.1\",\n@@ -348,9 +348,9 @@\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/animations\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/animations/-/animations-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-gsqHX8lCYV8cgVtHs0iLwrX8SVlmcjUF44l/xCc/jBC/TeKWRl2e6Jqrn1Wcd0NDlGiNsm+mYNyqMyy5/I7kjw==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/animations/-/animations-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-SzlLoMT/r5wKqPicx5okCAiN5UD5+VE7x/F1G6gSJCcnBfbK5PqHPUmDnMW4jw9Ode06KZDT7ntstn6fG+Ld8w==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"tslib\": \"^2.3.0\"\n@@ -359,7 +359,7 @@\n \t\t\t\t\"node\": \"^20.19.0 || ^22.12.0 || >=24.0.0\"\n \t\t\t},\n \t\t\t\"peerDependencies\": {\n-\t\t\t\t\"@angular/core\": \"21.1.5\"\n+\t\t\t\t\"@angular/core\": \"21.2.0\"\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/build\": {\n@@ -463,9 +463,9 @@\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/cdk\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/cdk/-/cdk-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-AlQPgqe3LLwXCyrDwYSX3m/WKnl2ppCMW7Gb+7bJpIcpMdWYEpSOSQF318jXGYIysKg43YbdJ1tWhJWY/cbn3w==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-1P0TNL1F51NC7JAaXabaAHY7Y1zBloLSZXfml1POa4a116V+y/QZfPGsxM0LwD1qSSXhSb2LNl7duTtJAP39bA==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"parse5\": \"^8.0.0\",\n@@ -515,9 +515,9 @@\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/common\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/common/-/common-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-olO2F0b+H8YBfsuQFEwo9Hjf+B714xGcttDW37+4jnY2IRS2uYeMu2RGIpY7ps+0uZ017c4iK3CCgSPBgmbTcA==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/common/-/common-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-6zJMPi0i/XDniEgv3/t2BjuDHiOG44lgIR5PYyxqGpgJ0kqB5hku/0TuentNEi1VnBYgthnfhjek7c+lakXmhw==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"tslib\": \"^2.3.0\"\n@@ -526,14 +526,14 @@\n \t\t\t\t\"node\": \"^20.19.0 || ^22.12.0 || >=24.0.0\"\n \t\t\t},\n \t\t\t\"peerDependencies\": {\n-\t\t\t\t\"@angular/core\": \"21.1.5\",\n+\t\t\t\t\"@angular/core\": \"21.2.0\",\n \t\t\t\t\"rxjs\": \"^6.5.3 || ^7.4.0\"\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/compiler\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-yRUdWlL+AWcTL4d7zD0jkNqsjvxXpWEihvOfD2gc65DO0+E80DsWIpHq9A8yWeLukbfLcmBGI2QbfW9+SXAlvg==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-0RPkma8UVNpse/VJcXT9w6SKzTMz4J/uMGj0l9enM1frg9xrx1fwi/lLmaVV9Nr9LfqPjQdxNFFlvaBB7g/2zg==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"tslib\": \"^2.3.0\"\n@@ -576,9 +576,9 @@\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/core\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/core/-/core-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-m61YHiyE+SIvS8UXcFLjYCucv6ShJJCwz9xxEk7ysYW9wOtHdfIf9tgyOsucZDAvrvpSyQLRj5jGBCGm1VIvXA==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/core/-/core-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-VnTbmZq3g3Q+s3nCZ8VUDMLjMezOg/bqUxAJ/DrRWCrEcTP5JO3mrNPs3FHj+qlB0T+BQP7uQv6QTzPVKybwoA==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"tslib\": \"^2.3.0\"\n@@ -587,7 +587,7 @@\n \t\t\t\t\"node\": \"^20.19.0 || ^22.12.0 || >=24.0.0\"\n \t\t\t},\n \t\t\t\"peerDependencies\": {\n-\t\t\t\t\"@angular/compiler\": \"21.1.5\",\n+\t\t\t\t\"@angular/compiler\": \"21.2.0\",\n \t\t\t\t\"rxjs\": \"^6.5.3 || ^7.4.0\",\n \t\t\t\t\"zone.js\": \"~0.15.0 || ~0.16.0\"\n \t\t\t},\n@@ -601,9 +601,9 @@\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/forms\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/forms/-/forms-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-Z8Vcgz5KYlCobRxLjyGGUBv0mA4nusuiD36GqYRn3sR780TLDcPFVwTCwVEWLdwID64oiHXG+x9jjU/Z3HzR6A==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/forms/-/forms-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-NduUtPWLauH/FLayEDkLyaKAGqKzXbcfO7468LOWCXN3crhNVQyIWRQPOUcdpoJwDAGLpN85m3DhJhXNnA9c5w==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"@standard-schema/spec\": \"^1.0.0\",\n@@ -613,22 +613,22 @@\n \t\t\t\t\"node\": \"^20.19.0 || ^22.12.0 || >=24.0.0\"\n \t\t\t},\n \t\t\t\"peerDependencies\": {\n-\t\t\t\t\"@angular/common\": \"21.1.5\",\n-\t\t\t\t\"@angular/core\": \"21.1.5\",\n-\t\t\t\t\"@angular/platform-browser\": \"21.1.5\",\n+\t\t\t\t\"@angular/common\": \"21.2.0\",\n+\t\t\t\t\"@angular/core\": \"21.2.0\",\n+\t\t\t\t\"@angular/platform-browser\": \"21.2.0\",\n \t\t\t\t\"rxjs\": \"^6.5.3 || ^7.4.0\"\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/material\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/material/-/material-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-D6JvFulPvIKhPJ52prMV7DxwYMzcUpHar11ZcMb7r9WQzUfCS3FDPXfMAce5n3h+3kFccfmmGpnyBwqTlLPSig==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/material/-/material-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-GVJMgXa/jpy06b/txKMohuMDMu72Or576BSHKehnceYvI9sf25cnGGK1woNhALNDW449KReicAILujcFJ+mO6g==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"tslib\": \"^2.3.0\"\n \t\t\t},\n \t\t\t\"peerDependencies\": {\n-\t\t\t\t\"@angular/cdk\": \"21.1.5\",\n+\t\t\t\t\"@angular/cdk\": \"21.2.0\",\n \t\t\t\t\"@angular/common\": \"^21.0.0 || ^22.0.0\",\n \t\t\t\t\"@angular/core\": \"^21.0.0 || ^22.0.0\",\n \t\t\t\t\"@angular/forms\": \"^21.0.0 || ^22.0.0\",\n@@ -637,9 +637,9 @@\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/platform-browser\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-rAN0cu05Pg7HHe9JMRd3g5JyyVCeFW8QiB/jG6klUrOTF4QzyCbmwlm7MX0uTx3CWAZraWCGbdahUkLyYtuqFA==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-IUGukpvvT2B5Dl76qzk6rY7UIHUT9u4BhT2AwVz+5JqcX9KwQtYD17Gt7wj6bvIgCXKWG+CfN8Zd9DECOCYWjg==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"tslib\": \"^2.3.0\"\n@@ -648,9 +648,9 @@\n \t\t\t\t\"node\": \"^20.19.0 || ^22.12.0 || >=24.0.0\"\n \t\t\t},\n \t\t\t\"peerDependencies\": {\n-\t\t\t\t\"@angular/animations\": \"21.1.5\",\n-\t\t\t\t\"@angular/common\": \"21.1.5\",\n-\t\t\t\t\"@angular/core\": \"21.1.5\"\n+\t\t\t\t\"@angular/animations\": \"21.2.0\",\n+\t\t\t\t\"@angular/common\": \"21.2.0\",\n+\t\t\t\t\"@angular/core\": \"21.2.0\"\n \t\t\t},\n \t\t\t\"peerDependenciesMeta\": {\n \t\t\t\t\"@angular/animations\": {\n@@ -679,9 +679,9 @@\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/platform-server\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/platform-server/-/platform-server-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-7S66We60szZ5M/LfW6OAvua+qNCS08IHFN0Re5ZwqqfyDVBGPt18JUN6NKR5FfAhW4s5B9+TtF+tdLcxYxHWaQ==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/platform-server/-/platform-server-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-XE/0HTYlPpO37aOOc4BEH1AZMDcPOGd2FoZcwGoWDRWhXYrRqzgcX4h1q0WxmMZRe/p7hEd3g9lrf3Vdjj/4ZQ==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"tslib\": \"^2.3.0\",\n@@ -691,17 +691,17 @@\n \t\t\t\t\"node\": \"^20.19.0 || ^22.12.0 || >=24.0.0\"\n \t\t\t},\n \t\t\t\"peerDependencies\": {\n-\t\t\t\t\"@angular/common\": \"21.1.5\",\n-\t\t\t\t\"@angular/compiler\": \"21.1.5\",\n-\t\t\t\t\"@angular/core\": \"21.1.5\",\n-\t\t\t\t\"@angular/platform-browser\": \"21.1.5\",\n+\t\t\t\t\"@angular/common\": \"21.2.0\",\n+\t\t\t\t\"@angular/compiler\": \"21.2.0\",\n+\t\t\t\t\"@angular/core\": \"21.2.0\",\n+\t\t\t\t\"@angular/platform-browser\": \"21.2.0\",\n \t\t\t\t\"rxjs\": \"^6.5.3 || ^7.4.0\"\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/router\": {\n-\t\t\t\"version\": \"21.1.5\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/router/-/router-21.1.5.tgz\",\n-\t\t\t\"integrity\": \"sha512-OjFn6Nw51CU712CMbl2U9TxlCkzOmjMLYPAfnV4+RdG7o+/eOS2nV0oapJ88RNCw7Yl04PA1amc3ql3agDFd4A==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/router/-/router-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-siliJ+jJRUCRZ0cdkqc7zww9Didz56Z0Z2YPIuR2n5TZLiuJY+jAf6xotXKp/v6v8XoGJwLiRNipGgNDRIAlWA==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"tslib\": \"^2.3.0\"\n@@ -710,16 +710,16 @@\n \t\t\t\t\"node\": \"^20.19.0 || ^22.12.0 || >=24.0.0\"\n \t\t\t},\n \t\t\t\"peerDependencies\": {\n-\t\t\t\t\"@angular/common\": \"21.1.5\",\n-\t\t\t\t\"@angular/core\": \"21.1.5\",\n-\t\t\t\t\"@angular/platform-browser\": \"21.1.5\",\n+\t\t\t\t\"@angular/common\": \"21.2.0\",\n+\t\t\t\t\"@angular/core\": \"21.2.0\",\n+\t\t\t\t\"@angular/platform-browser\": \"21.2.0\",\n \t\t\t\t\"rxjs\": \"^6.5.3 || ^7.4.0\"\n \t\t\t}\n \t\t},\n \t\t\"node_modules/@angular/ssr\": {\n-\t\t\t\"version\": \"21.1.4\",\n-\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/ssr/-/ssr-21.1.4.tgz\",\n-\t\t\t\"integrity\": \"sha512-KUKEuZPS9NOeN0mmlG7nld9U9cxDfqR0DG/Kf2QglfoiTmEXundytrC27u63feIby2hULR7mQWZ+Ouj9Hh78NQ==\",\n+\t\t\t\"version\": \"21.2.0\",\n+\t\t\t\"resolved\": \"https://registry.npmjs.org/@angular/ssr/-/ssr-21.2.0.tgz\",\n+\t\t\t\"integrity\": \"sha512-NqtCNJETO1ocQ0F3pK4KxkoDkPxI2qN2YPEBLPAGTrLXxTb6vM06LwYa6tTwFm0sk26tfOGTuauJV1KhRnDcVQ==\",\n \t\t\t\"license\": \"MIT\",\n \t\t\t\"dependencies\": {\n \t\t\t\t\"tslib\": \"^2.3.0\"\n", "encoded_file_path": false, "external_diff_offset": null, "external_diff_size": null, "generated": true, "merge_request_diff_id": 167, "new_file": false, "new_path": null, "old_path": "package-lock.json", "project_id": 35, "relative_order": 0, "renamed_file": false, "too_large": false }, { "a_mode": "100644", "b_mode": "100644", "binary": false, "deleted_file": false, "diff": "@@ -27,17 +27,17 @@\n \t},\n \t\"private\": true,\n \t\"dependencies\": {\n-\t\t\"@angular/animations\": \"21.1.5\",\n-\t\t\"@angular/cdk\": \"^21.1.5\",\n-\t\t\"@angular/common\": \"21.1.5\",\n-\t\t\"@angular/compiler\": \"21.1.5\",\n-\t\t\"@angular/core\": \"21.1.5\",\n-\t\t\"@angular/forms\": \"21.1.5\",\n-\t\t\"@angular/material\": \"^21.1.5\",\n-\t\t\"@angular/platform-browser\": \"21.1.5\",\n-\t\t\"@angular/platform-server\": \"21.1.5\",\n-\t\t\"@angular/router\": \"21.1.5\",\n-\t\t\"@angular/ssr\": \"21.1.4\",\n+\t\t\"@angular/animations\": \"21.2.0\",\n+\t\t\"@angular/cdk\": \"^21.2.0\",\n+\t\t\"@angular/common\": \"21.2.0\",\n+\t\t\"@angular/compiler\": \"21.2.0\",\n+\t\t\"@angular/core\": \"21.2.0\",\n+\t\t\"@angular/forms\": \"21.2.0\",\n+\t\t\"@angular/material\": \"^21.2.0\",\n+\t\t\"@angular/platform-browser\": \"21.2.0\",\n+\t\t\"@angular/platform-server\": \"21.2.0\",\n+\t\t\"@angular/router\": \"21.2.0\",\n+\t\t\"@angular/ssr\": \"21.2.0\",\n \t\t\"date-holidays\": \"^3.26.8\",\n \t\t\"dayjs\": \"^1.11.19\",\n \t\t\"express\": \"^5.2.1\",\n", "encoded_file_path": false, "external_diff_offset": null, "external_diff_size": null, "generated": false, "merge_request_diff_id": 167, "new_file": false, "new_path": null, "old_path": "package.json", "project_id": 35, "relative_order": 1, "renamed_file": false, "too_large": false } ], "metadata": { "base_commit_sha": "96053b7f5da92830c8922e2c11f15a66e0548521", "commits_count": 1, "created_at": "2026-05-03T16:00:18.331237", "diff_type": 1, "files_count": 2, "head_commit_sha": "e9dd1799140a7468c9044f37c421461515de0c10", "id": 167, "merge_request_id": 167, "project_id": 35, "start_commit_sha": "b0266e31ea25cd38377781151fac658e2ece42ae", "state": "collected", "stored_externally": null, "updated_at": "2026-05-03T16:00:19.105761" } } ], "discussions": [ { "id": "4053b9d635aa5222160c51eae1fe9d727426de52", "individual_note": true, "notes": [ { "author": { "avatar_url": "https://secure.gravatar.com/avatar/5e51e115b51304582ee7b2cd8f249fe3ee71b46510e381f74c032e6de81d2757?s=80&d=identicon", "id": 3, "locked": false, "name": "admin", "public_email": null, "state": "active", "username": "admin-backup", "web_url": "https://gitlab.nessar.fr/admin-backup" }, "body": "`@dependabot` recreate", "commands_changes": {}, "confidential": false, "created_at": "2026-03-01T20:12:19.000Z", "id": 640, "imported": true, "imported_from": "github", "internal": false, "noteable_id": 167, "noteable_iid": 111, "noteable_type": "MergeRequest", "project_id": 35, "resolvable": false, "system": false, "type": null, "updated_at": "2026-03-01T20:12:19.000Z" } ], "resolvable": false }, { "id": "f00a03aabd1848a16175af775ba6c43338785d34", "individual_note": true, "notes": [ { "author": { "avatar_url": "https://secure.gravatar.com/avatar/5e51e115b51304582ee7b2cd8f249fe3ee71b46510e381f74c032e6de81d2757?s=80&d=identicon", "id": 3, "locked": false, "name": "admin", "public_email": null, "state": "active", "username": "admin-backup", "web_url": "https://gitlab.nessar.fr/admin-backup" }, "body": "Looks like these dependencies are updatable in another way, so this is no longer needed.", "commands_changes": {}, "confidential": false, "created_at": "2026-03-01T20:15:12.000Z", "id": 641, "imported": true, "imported_from": "github", "internal": false, "noteable_id": 167, "noteable_iid": 111, "noteable_type": "MergeRequest", "project_id": 35, "resolvable": false, "system": false, "type": null, "updated_at": "2026-03-01T20:15:12.000Z" } ], "resolvable": false } ], "format_version": 1, "notes": [ { "author_id": 3, "change_position": null, "commit_id": null, "confidential": null, "created_at": "2026-03-01T20:12:19", "discussion_id": "4053b9d635aa5222160c51eae1fe9d727426de52", "id": 640, "imported_from": 4, "internal": false, "last_edited_at": null, "line_code": null, "namespace_id": null, "note": "`@dependabot` recreate", "noteable_id": 167, "noteable_type": "MergeRequest", "organization_id": null, "original_position": null, "position": null, "project_id": 35, "resolved_at": null, "resolved_by_id": null, "resolved_by_push": null, "review_id": null, "source_iid": 111, "source_item_project_id": 35, "st_diff": null, "system": false, "type": null, "updated_at": "2026-03-01T20:12:19", "updated_by_id": null }, { "author_id": 3, "change_position": null, "commit_id": null, "confidential": null, "created_at": "2026-03-01T20:15:12", "discussion_id": "f00a03aabd1848a16175af775ba6c43338785d34", "id": 641, "imported_from": 4, "internal": false, "last_edited_at": null, "line_code": null, "namespace_id": null, "note": "Looks like these dependencies are updatable in another way, so this is no longer needed.", "noteable_id": 167, "noteable_type": "MergeRequest", "organization_id": null, "original_position": null, "position": null, "project_id": 35, "resolved_at": null, "resolved_by_id": null, "resolved_by_push": null, "review_id": null, "source_iid": 111, "source_item_project_id": 35, "st_diff": null, "system": false, "type": null, "updated_at": "2026-03-01T20:15:12", "updated_by_id": null } ], "preexisting_missing_alternate_head": false, "source_assignees": [], "source_author": { "avatar_url": "https://secure.gravatar.com/avatar/5e51e115b51304582ee7b2cd8f249fe3ee71b46510e381f74c032e6de81d2757?s=80&d=identicon", "id": 3, "locked": false, "name": "admin", "public_email": null, "state": "active", "username": "admin-backup", "web_url": "https://gitlab.nessar.fr/admin-backup" }, "source_created_at": "2026-02-27T20:48:08.000Z", "source_discussion_locked": null, "source_id": 167, "source_iid": 111, "source_item_metadata": { "assignee": null, "assignees": [], "author": { "avatar_url": "https://secure.gravatar.com/avatar/5e51e115b51304582ee7b2cd8f249fe3ee71b46510e381f74c032e6de81d2757?s=80&d=identicon", "id": 3, "locked": false, "name": "admin", "public_email": null, "state": "active", "username": "admin-backup", "web_url": "https://gitlab.nessar.fr/admin-backup" }, "blocking_discussions_resolved": true, "closed_at": null, "closed_by": null, "created_at": "2026-02-27T20:48:08.000Z", "description": "Bumps the angular group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.1.5` | `21.2.0` |\n| [@angular/cdk](https://github.com/angular/components) | `21.1.5` | `21.2.0` |\n| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.1.5` | `21.2.0` |\n| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.1.5` | `21.2.0` |\n| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.1.5` | `21.2.0` |\n| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.1.5` | `21.2.0` |\n| [@angular/material](https://github.com/angular/components) | `21.1.5` | `21.2.0` |\n| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.1.5` | `21.2.0` |\n| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `21.1.5` | `21.2.0` |\n| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.1.5` | `21.2.0` |\n| [@angular/ssr](https://github.com/angular/angular-cli) | `21.1.4` | `21.2.0` |\n\n\nUpdates `@angular/animations` from 21.1.5 to 21.2.0\n
\nRelease notes\n

Sourced from @​angular/animations's releases.

\n
\n

VSCode Extension: 21.2.0

\n\n

21.2.0

\n

common

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featadd an 'outlet' injector option for ngTemplateOutlet
\"featAdd Location strategies to manage trailing slash on write
\"featsupport height in ImageLoaderConfig and built-in loaders
\n

compiler

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featAdd support for the instanceof binary operator
\"featExhaustive checks for switch blocks
\"featsupport AstVisitor.visitEmptyExpr()
\"fixoptimize away unnecessary restore/reset view calls
\"fixvariable counter visiting some expressions twice
\n

compiler-cli

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixattach source spans to object literal keys in TCB
\"fixsupport nested component declaration
\"fixupdate diagnostic to flag no-op arrow functions in listeners
\n

core

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featadd ChangeDetectionStrategy.Eager alias for Default
\"featadd host node to DeferBlockData (#66546)
\"featadd support for nested animations
\"featadd support for TypeScript 6
\"featresource composition via snapshots
\"featsupport arrow functions in expressions
\"fixcorrectly handle SkipSelf when resolving from embedded view injector
\"fixprevent animated element duplication with dynamic components in zoneless mode
\"fixRemove note to skip arrow functions in best practices
\n

forms

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featadd field param to submit action and onInvalid
\"featadd form directive
\"featadd parsing support to native inputs (#66917)
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from @​angular/animations's changelog.

\n
\n

21.2.0 (2026-02-25)

\n

common

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
18003a33bbfeatadd an 'outlet' injector option for ngTemplateOutlet
8bbe6dc46cfeatAdd Location strategies to manage trailing slash on write
51cc914807featsupport height in ImageLoaderConfig and built-in loaders
\n

compiler

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
72534e2a34featAdd support for the instanceof binary operator
95b3f37d4afeatExhaustive checks for switch blocks
04ba09a8d9featsupport AstVisitor.visitEmptyExpr()
ce80136e7bfixoptimize away unnecessary restore/reset view calls
3242a61baefixvariable counter visiting some expressions twice
\n

compiler-cli

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
473dd3e1cbfixattach source spans to object literal keys in TCB
a904d9f77bfixsupport nested component declaration
2ea6dfc6c9fixupdate diagnostic to flag no-op arrow functions in listeners
\n

core

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
8d5210c9fefeatadd ChangeDetectionStrategy.Eager alias for Default
92d2498910featadd host node to DeferBlockData (#66546)
ea2016a6dcfeatadd support for nested animations
81cabc1477featadd support for TypeScript 6
1ba9b7ac50featresource composition via snapshots
d9923b72a2featsupport arrow functions in expressions
a7e8abbb7efixcorrectly handle SkipSelf when resolving from embedded view injector
0806ee3826fixprevent animated element duplication with dynamic components in zoneless mode
ed78fa05c7fixRemove note to skip arrow functions in best practices
\n

forms

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
f56bb07d83featadd field param to submit action and onInvalid
ba009b6031featadd form directive
22afbb2f36featadd parsing support to native inputs (#66917)
95c386469cfeatAdd passing focus options to form field
95ecce8334featallow setting submit options at form-level
ebae211addfeatintroduce parse errors in signal forms
3937afc316featintroduce SignalFormControl for Reactive Forms compatibility
30f0914754featsupport binding null to number input (#66917)
dd208ca259featupdate submit function to accept options object
27397b3f4ffixclear parse errors when model updates (#66917)
63d8005703fixpreserve custom-control focus context in signal forms
631f60d1f9fixpreserve parse errors when parse returns value
adfb83146bfixsimplify design of parse errors
fb05fc86d0fixsort error summary by DOM order
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\nUpdates `@angular/cdk` from 21.1.5 to 21.2.0\n
\nRelease notes\n

Sourced from @​angular/cdk's releases.

\n
\n

21.2.0

\n

material

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixcore: expose strong focus indicator structural styles (#32808)
\"fixdatepicker: drop dependency on NgClass (#32810)
\n

cdk

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixportal: allow bindings to be passed to component portal (#32814)
\"fixtable: remove string-based DI tokens (#32677)
\n

aria

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixgrid: align output naming with styleguide
\"fixmenu: align output naming with styleguide
\n

21.2.0-rc.0

\n

No release notes provided.

\n

21.2.0-next.5

\n

google-maps

\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixfix mismatch in clusterer types (#32778)
\n

material

\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixselect: disable position locking (#32772)
\n

cdk

\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixtree: no nodes focusable if data is replaced (#32781)
\n

aria

\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixcombobox: fix autocomplete examples and add comments explaining combobox selection behavior (#32714)
\n

21.2.0-next.4

\n

material

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixradio: hide empty labels (#32754)
\"fixslide-toggle: overly broad selector (#32740)
\"fixtooltip: do not block events to other overlays
\n

aria

\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"perfgrid: performance when selecting in a large grid (#32766)
\n

multiple

\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from @​angular/cdk's changelog.

\n
\n

21.2.0 "plastic-lion" (2026-02-25)

\n

aria

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
31ff7f26b5fixgrid: align output naming with styleguide
d030725f46fixmenu: align output naming with styleguide
\n

cdk

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
cd5209e9f5fixportal: allow bindings to be passed to component portal (#32814)
e397ecbcfafixtable: remove string-based DI tokens (#32677)
\n

material

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
8c4526935efixcore: expose strong focus indicator structural styles (#32808)
7fe3081148fixdatepicker: drop dependency on NgClass (#32810)
\n\n

\n

21.1.6 "plastic-monkey" (2026-02-25)

\n

aria

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
50c34e6ef3fixcombobox: Adjust AutoComplete examples to properly announce no results text (#32786)
\n\n

\n
\n
\n
\nCommits\n\n
\n
\n\nUpdates `@angular/common` from 21.1.5 to 21.2.0\n
\nRelease notes\n

Sourced from @​angular/common's releases.

\n
\n

VSCode Extension: 21.2.0

\n\n

21.2.0

\n

common

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featadd an 'outlet' injector option for ngTemplateOutlet
\"featAdd Location strategies to manage trailing slash on write
\"featsupport height in ImageLoaderConfig and built-in loaders
\n

compiler

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featAdd support for the instanceof binary operator
\"featExhaustive checks for switch blocks
\"featsupport AstVisitor.visitEmptyExpr()
\"fixoptimize away unnecessary restore/reset view calls
\"fixvariable counter visiting some expressions twice
\n

compiler-cli

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixattach source spans to object literal keys in TCB
\"fixsupport nested component declaration
\"fixupdate diagnostic to flag no-op arrow functions in listeners
\n

core

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featadd ChangeDetectionStrategy.Eager alias for Default
\"featadd host node to DeferBlockData (#66546)
\"featadd support for nested animations
\"featadd support for TypeScript 6
\"featresource composition via snapshots
\"featsupport arrow functions in expressions
\"fixcorrectly handle SkipSelf when resolving from embedded view injector
\"fixprevent animated element duplication with dynamic components in zoneless mode
\"fixRemove note to skip arrow functions in best practices
\n

forms

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featadd field param to submit action and onInvalid
\"featadd form directive
\"featadd parsing support to native inputs (#66917)
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from @​angular/common's changelog.

\n
\n

21.2.0 (2026-02-25)

\n

common

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
18003a33bbfeatadd an 'outlet' injector option for ngTemplateOutlet
8bbe6dc46cfeatAdd Location strategies to manage trailing slash on write
51cc914807featsupport height in ImageLoaderConfig and built-in loaders
\n

compiler

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
72534e2a34featAdd support for the instanceof binary operator
95b3f37d4afeatExhaustive checks for switch blocks
04ba09a8d9featsupport AstVisitor.visitEmptyExpr()
ce80136e7bfixoptimize away unnecessary restore/reset view calls
3242a61baefixvariable counter visiting some expressions twice
\n

compiler-cli

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
473dd3e1cbfixattach source spans to object literal keys in TCB
a904d9f77bfixsupport nested component declaration
2ea6dfc6c9fixupdate diagnostic to flag no-op arrow functions in listeners
\n

core

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
8d5210c9fefeatadd ChangeDetectionStrategy.Eager alias for Default
92d2498910featadd host node to DeferBlockData (#66546)
ea2016a6dcfeatadd support for nested animations
81cabc1477featadd support for TypeScript 6
1ba9b7ac50featresource composition via snapshots
d9923b72a2featsupport arrow functions in expressions
a7e8abbb7efixcorrectly handle SkipSelf when resolving from embedded view injector
0806ee3826fixprevent animated element duplication with dynamic components in zoneless mode
ed78fa05c7fixRemove note to skip arrow functions in best practices
\n

forms

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
f56bb07d83featadd field param to submit action and onInvalid
ba009b6031featadd form directive
22afbb2f36featadd parsing support to native inputs (#66917)
95c386469cfeatAdd passing focus options to form field
95ecce8334featallow setting submit options at form-level
ebae211addfeatintroduce parse errors in signal forms
3937afc316featintroduce SignalFormControl for Reactive Forms compatibility
30f0914754featsupport binding null to number input (#66917)
dd208ca259featupdate submit function to accept options object
27397b3f4ffixclear parse errors when model updates (#66917)
63d8005703fixpreserve custom-control focus context in signal forms
631f60d1f9fixpreserve parse errors when parse returns value
adfb83146bfixsimplify design of parse errors
fb05fc86d0fixsort error summary by DOM order
\n\n
\n

... (truncated)

\n
\n
\nCommits\n\n
\n
\n\nUpdates `@angular/compiler` from 21.1.5 to 21.2.0\n
\nRelease notes\n

Sourced from @​angular/compiler's releases.

\n
\n

VSCode Extension: 21.2.0

\n\n

21.2.0

\n

common

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featadd an 'outlet' injector option for ngTemplateOutlet
\"featAdd Location strategies to manage trailing slash on write
\"featsupport height in ImageLoaderConfig and built-in loaders
\n

compiler

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featAdd support for the instanceof binary operator
\"featExhaustive checks for switch blocks
\"featsupport AstVisitor.visitEmptyExpr()
\"fixoptimize away unnecessary restore/reset view calls
\"fixvariable counter visiting some expressions twice
\n

compiler-cli

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"fixattach source spans to object literal keys in TCB
\"fixsupport nested component declaration
\"fixupdate diagnostic to flag no-op arrow functions in listeners
\n

core

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featadd ChangeDetectionStrategy.Eager alias for Default
\"featadd host node to DeferBlockData (#66546)
\"featadd support for nested animations
\"featadd support for TypeScript 6
\"featresource composition via snapshots
\"featsupport arrow functions in expressions
\"fixcorrectly handle SkipSelf when resolving from embedded view injector
\"fixprevent animated element duplication with dynamic components in zoneless mode
\"fixRemove note to skip arrow functions in best practices
\n

forms

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitDescription
\"featadd field param to submit action and onInvalid
\"featadd form directive
\"featadd parsing support to native inputs (#66917)
\n\n
\n

... (truncated)

\n
\n
\nChangelog\n

Sourced from @​angular/compiler's changelog.

\n
\n

21.2.0 (2026-02-25)

\n

common

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
18003a33bbfeatadd an 'outlet' injector option for ngTemplateOutlet
8bbe6dc46cfeatAdd Location strategies to manage trailing slash on write
51cc914807featsupport height in ImageLoaderConfig and built-in loaders
\n

compiler

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
72534e2a34featAdd support for the instanceof binary operator
95b3f37d4afeatExhaustive checks for switch blocks
04ba09a8d9featsupport AstVisitor.visitEmptyExpr()
ce80136e7bfixoptimize away unnecessary restore/reset view calls
3242a61baefixvariable counter visiting some expressions twice
\n

compiler-cli

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
473dd3e1cbfixattach source spans to object literal keys in TCB
a904d9f77bfixsupport nested component declaration
2ea6dfc6c9fixupdate diagnostic to flag no-op arrow functions in listeners
\n

core

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
8d5210c9fefeatadd ChangeDetectionStrategy.Eager alias for Default
92d2498910featadd host node to DeferBlockData (#66546)
ea2016a6dcfeatadd support for nested animations
81cabc1477featadd support for TypeScript 6
1ba9b7ac50featresource composition via snapshots
d9923b72a2featsupport arrow functions in expressions
a7e8abbb7efixcorrectly handle SkipSelf when resolving from embedded view injector
0806ee3826fixprevent animated element duplication with dynamic components in zoneless mode
ed78fa05c7fixRemove note to skip arrow functions in best practices
\n

forms

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
CommitTypeDescription
f56bb07d83featadd field param to submit action and onInvalid
ba009b6031featadd form directive
22afbb2f36featadd parsing support to native inputs (#66917)
95c386469cfeatAdd passing focus options to form field
95ecce8334featallow setting submit options at form-level
ebae211addfeatintroduce parse errors in signal forms
3937afc316featintroduce SignalFormControl for Reactive Forms compatibility
30f0914754featsupport binding null to number input (#66917)
dd208ca259featupdate submit function to accept options object
27397b3f4ffixclear parse errors when model updates (#66917)
63d8005703fixpreserve custom-control focus context in signal forms
631f60d1f9fixpreserv...\n\n_Description has been truncated_", "detailed_merge_status": "unchecked", "discussion_locked": null, "downvotes": 0, "draft": false, "force_remove_source_branch": null, "has_conflicts": false, "id": 167, "iid": 111, "imported": true, "imported_from": "github", "labels": [ "dependencies", "javascript" ], "merge_after": null, "merge_commit_sha": null, "merge_status": "unchecked", "merge_user": null, "merge_when_pipeline_succeeds": false, "merged_at": null, "merged_by": null, "milestone": null, "prepared_at": null, "project_id": 35, "reference": "!111", "references": { "full": "nessar/vac-optimizer!111", "relative": "!111", "short": "!111" }, "reviewers": [], "sha": "e9dd1799140a7468c9044f37c421461515de0c10", "should_remove_source_branch": null, "source_branch": "dependabot/npm_and_yarn/angular-9b7164113c", "source_project_id": 35, "squash": false, "squash_commit_sha": null, "squash_on_merge": false, "state": "closed", "target_branch": "main", "target_project_id": 35, "task_completion_status": { "completed_count": 0, "count": 0 }, "time_stats": { "human_time_estimate": null, "human_total_time_spent": null, "time_estimate": 0, "total_time_spent": 0 }, "title": "Bump the angular group across 1 directory with 11 updates", "updated_at": "2026-03-01T20:15:15.000Z", "upvotes": 0, "user_notes_count": 2, "web_url": "https://gitlab.nessar.fr/nessar/vac-optimizer/-/merge_requests/111", "work_in_progress": false }, "source_kind": "MergeRequest", "source_path": "nessar/vac-optimizer", "source_project_id": 35, "source_reviewers": [], "source_updated_at": "2026-03-01T20:15:15.000Z", "state_events": [ { "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 } ], "target_number": 189 }