2026 Things to Do
:arrow_left: 2027 — [2025 :arrow_right:](https://gitlab.com/thomasrandolph/todo/-/work_items/12)
<details>
<summary>Icons</summary>
| Icon | Status |
| ---- | ------ |
| 🛠️ | In Progress |
| 👀 | In Review |
| 🕐️ | Pending Feedback |
| 🚀 | Merged |
| ⛔️ | Blocked / Delayed / Back Burner |
| 🚪 | Closed |
| ❗️ | High Priority |
</details>
<table><thead><tr>
<th style="text-align: right;">Scheduled</th>
<th>Status</th>
<th>Issue(s)</th>
<th>Related MRs</th>
<th>Notes</th>
<th>Reviewed</th>
</tr></thead><tbody>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.1][ms-19-1]
</td><td style="text-align: center;">
🛠️
</td><td>
[Implement merge request hotkeys][i34]
</td><td>
[!237396][m44]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.1][ms-19-1]
<br />
~~[%19.0][ms-19-0]~~
</td><td style="text-align: center;">
🛠️
</td><td>
Show optimistic skeleton loader when creating MR pipeline
</td><td>
[!236026][m41]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚀
</td><td>
[Add tooltips for icon-only controls in Rapid Diffs][i31]
</td><td>
[!235486][m40]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚪
</td><td>
 ↳ [Change file title link tooltip to Open in new tab][i32]
</td><td>
[!236141][m42]
</td><td>
Follow-up to [!235486][m40]
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.1][ms-19-1]
<br />
~~[%19.0][ms-19-0]~~
</td><td style="text-align: center;">
🚀
</td><td>
[Implement commit by commit navigation for MRs][i30]
</td><td>
- [Backend (commit IDs)][m39]
- [Frontend (nav buttons)][m43]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚀
</td><td>
[TypeError: drafts.map is not a function in SET_BATCH_COMMENTS_DRAFTS][i28]
</td><td>
[!234093][m37]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚀
</td><td>
[TypeError: scroller ref undefined in tree_list.vue][i27]
</td><td>
[!234087][m36]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚀
</td><td>
[Chrome tab crash on Copy link in Rapid Diffs][i26]
</td><td>
[!233857][m35]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚀
</td><td>
Remove unused frontend constants
</td><td>
- [SOURCE_AUTO_DEVOPS][m30]
- [MR_PIPELINE_TYPE_TRAIN][m31]
- [MR_PIPELINE_TYPE_RESULT][m32]
- [SKELETON_NOTES_COUNT][m33]
- [HIGHER_PARSE_RULE_PRIORITY][m34]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚀
</td><td>
[Fix MR tab counts not auto-updating after initial MR creation][i29]
</td><td>
[!233558][m38]
</td><td>
Contributed commits (authored by @marc_shaw)
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚀
</td><td>
[Show beta badge in Rapid Diffs dropdown and document limitations][i24]
</td><td>
[!233156][m29]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.1][ms-19-1]
<br />
~~[%19.0][ms-19-0]~~
</td><td style="text-align: center;">
<!-- Status -->
</td><td>
[Unable to scroll down to all changes (intermittent)][i23]
</td><td>
<!-- MRs -->
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚀
</td><td>
[Resolve thread checkbox missing in Rapid Diffs][i22]
</td><td>
[!232609][m28]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
</td><td style="text-align: center;">
🚀
</td><td>
[Update Rapid Diffs feedback issue URL constant][i21]
</td><td>
[!230974][m26]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%19.0][ms-19-0]
<br />
~~[%18.11][ms-18-11]~~
</td><td style="text-align: center;">
🚀
</td><td>
[Track Rapid Diffs opt-in toggle usage][i19]
</td><td>
[!231357][m27]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.11][ms-18-11]
</td><td style="text-align: center;">
🚀
</td><td>
[Rapid Diffs opt-in toggle][i18]
</td><td>
[!229197][m25]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.11][ms-18-11]
<br />
~~[%18.10][ms-18-10]~~
</td><td style="text-align: center;">
🚀
</td><td>
[Move MR title validation settings under merge check][i17]
</td><td>
- [Implementation][m23]
- [Review follow-up][m24]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.10][ms-18-10]
</td><td style="text-align: center;">
🚀
</td><td>
[Improve match-line color contrast][i16]
</td><td>
[!225759][m22]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.10][ms-18-10]
</td><td style="text-align: center;">
🚀
</td><td>
[Add documentation for MR title validation feature][i15]
</td><td>
[!224591][m21]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.10][ms-18-10]
<br />
~~[%18.9][ms-18-9]~~
</td><td style="text-align: center;">
🚀
</td><td>
[Implement viewed state for diff file in MRs][i10]
</td><td>
[!222771][m18]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.10][ms-18-10]
<br />
~~[%18.9][ms-18-9]~~
</td><td style="text-align: center;">
🚀
</td><td>
[MR settings for one click "rebase and merge"][i3]
</td><td>
- [Implementation][m13]
- [Combine guard clauses][m19]
- [Rename container][m20]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
</td><td style="text-align: center;">
🚀
</td><td>
[MR title validation merge check][i14]
</td><td>
- [First draft][m12]
- [Widget design with popover][m17]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
</td><td style="text-align: center;">
🚀
</td><td>
 ↳ [Test default variables][i12]
</td><td>
[!221578][m15]
</td><td>
Follow-up to [!219857][m12]
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
</td><td style="text-align: center;">
🚀
</td><td>
 ↳ [Test table layout][i13]
</td><td>
[!221569][m14]
</td><td>
Follow-up to [!219857][m12]
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
</td><td style="text-align: center;">
🚀
</td><td>
[UX review of MR title regex description setting][i7]
</td><td>
- [Move settings location][m9]
- [Update settings copy][m10]
- [Final copy update][m16]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
<br />
~~[%18.5][ms-18-5]~~
</td><td style="text-align: center;">
🚀
</td><td>
[Auto-collapse discussions with all resolved threads][i9]
</td><td>
- [Implementation][m3]
- [Revert][m4]
- [Re-implementation][m5]
- [Auto-collapse resolved MR threads][m6]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
</td><td style="text-align: center;">
🚀
</td><td>
[MR Settings for title regex][i4]
</td><td>
[!218836][m7]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
</td><td style="text-align: center;">
🚀
</td><td>
[TW review of MR title regex description setting][i6]
</td><td>
[!220037][m8]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
</td><td style="text-align: center;">
🚀
</td><td>
[MR Changes Message Accessibility][i5]
</td><td>
[!221180][m11]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
</td><td style="text-align: center;">
🚪
</td><td>
[[META][RD] Initial implementation][i1]
</td><td>
<!-- MRs -->
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
<br />
~~[%18.7][ms-18-7]~~
</td><td style="text-align: center;">
🚪
</td><td>
[MR Review Telemetry][i8]
</td><td>
- [Unassign by panel/Unassign by edit dropdown][m1]
- [Approve by panel][m2]
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.9][ms-18-9]
</td><td style="text-align: center;">
🚪
</td><td>
[Intelligent Reviewer Assignment blueprint][i2]
</td><td>
<!-- MRs -->
</td><td>
[Draft architecture][blueprint-draft]
</td><td>
<!-- PWR -->
</td></tr>
<!-- ROW BOUNDARY -->
<tr><td style="text-align: right;">
[%18.10][ms-18-10]
<br />
~~[%18.9][ms-18-9]~~
</td><td style="text-align: center;">
🚪
</td><td>
[Improve error messages and user feedback for MR title validation][i11]
</td><td>
<!-- MRs -->
</td><td>
<!-- Notes -->
</td><td>
<!-- PWR -->
</td></tr>
</tbody></table>
<!-- Issues -->
[i1]: https://gitlab.com/gitlab-org/gitlab/-/work_items/585247
[i2]: https://gitlab.com/gitlab-org/gitlab/-/work_items/585528
[i3]: https://gitlab.com/gitlab-org/gitlab/-/work_items/570337
[i4]: https://gitlab.com/gitlab-org/gitlab/-/work_items/582873
[i5]: https://gitlab.com/gitlab-org/gitlab/-/work_items/519036
[i6]: https://gitlab.com/gitlab-org/gitlab/-/work_items/586341
[i7]: https://gitlab.com/gitlab-org/gitlab/-/work_items/586340
[i8]: https://gitlab.com/gitlab-org/gitlab/-/work_items/580389
[i9]: https://gitlab.com/gitlab-org/gitlab/-/issues/357827
[i10]: https://gitlab.com/gitlab-org/gitlab/-/issues/499293
[i11]: https://gitlab.com/gitlab-org/gitlab/-/issues/582874
[i12]: https://gitlab.com/gitlab-org/gitlab/-/issues/588327
[i13]: https://gitlab.com/gitlab-org/gitlab/-/work_items/588328
[i14]: https://gitlab.com/gitlab-org/gitlab/-/issues/588814
[i15]: https://gitlab.com/gitlab-org/gitlab/-/issues/582875
[i16]: https://gitlab.com/gitlab-org/gitlab/-/issues/466591
[i17]: https://gitlab.com/gitlab-org/gitlab/-/issues/591249
[i18]: https://gitlab.com/gitlab-org/gitlab/-/work_items/590833
[i19]: https://gitlab.com/gitlab-org/gitlab/-/work_items/592633
[i21]: https://gitlab.com/gitlab-org/gitlab/-/work_items/596239
[i22]: https://gitlab.com/gitlab-org/gitlab/-/work_items/597663
[i23]: https://gitlab.com/gitlab-org/gitlab/-/work_items/597048
[i24]: https://gitlab.com/gitlab-org/gitlab/-/work_items/598007
[i26]: https://gitlab.com/gitlab-org/gitlab/-/work_items/597978
[i27]: https://gitlab.com/gitlab-org/gitlab/-/work_items/598735
[i28]: https://gitlab.com/gitlab-org/gitlab/-/work_items/598740
[i29]: https://gitlab.com/gitlab-org/gitlab/-/work_items/598021
[i30]: https://gitlab.com/gitlab-org/gitlab/-/work_items/499303
[i31]: https://gitlab.com/gitlab-org/gitlab/-/work_items/599647
[i32]: https://gitlab.com/gitlab-org/gitlab/-/work_items/599891
[i34]: https://gitlab.com/gitlab-org/gitlab/-/work_items/504200
<!-- MRs -->
[m1]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/214295
[m2]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/214789
[m3]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/197878
[m4]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/200456
[m5]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/207153
[m6]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/217858
[m7]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/218836
[m8]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/220037
[m9]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/220677
[m10]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/220682
[m11]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/221180
[m12]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/219857
[m13]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/221377
[m14]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/221569
[m15]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/221578
[m16]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/222173
[m17]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/222379
[m18]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/222771
[m19]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/224296
[m20]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/224297
[m21]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/224591
[m22]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/225759
[m23]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/226015
[m24]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/227613
[m25]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/229197
[m26]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/230974
[m27]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/231357
[m28]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/232609
[m29]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/233156
[m30]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/233464
[m31]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/233465
[m32]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/233467
[m33]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/233468
[m34]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/233469
[m35]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/233857
[m36]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/234087
[m37]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/234093
[m38]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/233558
[m39]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/234691
[m40]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/235486
[m41]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/236026
[m42]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/236141
[m43]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/236334
[m44]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/237396
<!-- Milestones -->
[ms-18-5]: https://gitlab.com/groups/gitlab-org/-/milestones/123
[ms-18-7]: https://gitlab.com/groups/gitlab-org/-/milestones/125
[ms-18-9]: https://gitlab.com/groups/gitlab-org/-/milestones/127
[ms-18-10]: https://gitlab.com/groups/gitlab-org/-/milestones/128
[ms-18-11]: https://gitlab.com/groups/gitlab-org/-/milestones/129
[ms-19-0]: https://gitlab.com/groups/gitlab-org/-/milestones/131
[ms-19-1]: https://gitlab.com/groups/gitlab-org/-/milestones/135
<!-- Other -->
[blueprint-draft]: https://gitlab.com/gitlab-org/gitlab/-/issues/585528#note_3045690465
issue