Group and project improvements
This epic is the SSOT for all Groups & Projects improvements. ## Hours Worked | Epic | Category | DRI | Total Hours | |------|----------|-----|-------------| | [Group and project naming improvements](https://gitlab.com/groups/gitlab-org/-/epics/12504) | ~"infra-category::Tech Debt" | @smaglangit | 5.0 <!-- discussion:037eb183f0900dbe8492c084f945898e7a328292 --> | | [Explore > Group and project overview improvements](https://gitlab.com/groups/gitlab-org/-/epics/555) | ~"infra-category::Tech Debt" | @smaglangit | 0.0 | | [Replace legacy namespace state management with new state machine](https://gitlab.com/groups/gitlab-org/-/epics/17958) | ~"infra-category::Tech Debt" | @aakriti.gupta | 0.0 | | [Make group/project transfer async with the `transfer_in_progress` state, implement user notifications and add log dashboards](https://gitlab.com/groups/gitlab-org/-/epics/20521) | ~"infra-category::Internal Innovation" | @shubhamkrai | 0.0 | | [Propagation-based state inheritance for namespaces](https://gitlab.com/groups/gitlab-org/-/epics/21607) | ~"infra-category::Customer Innovation" | @aakriti.gupta | 105.0 <!-- discussion:f10af3f446ea8ae58eb8e86b69faae8cc3adad0a --> | ## Project Work ### :hourglass: Work In Progress These epics are currently in progress | **Topic** | **Start Date** | **Target End Date** | **Summary** | |-----------|----------------|---------------------|-------------| | [Group and project naming improvements](https://gitlab.com/groups/gitlab-org/-/epics/12504) <br/> @smaglangit (+0 participants) <br/> ~"group::organizations" | 2023-01-18 | 2026-07-31 | **2026-07-09**: <br>:clock1: **total hours spent this week by all contributors**: 5h<br><br>:tada: **achievements**:<br><br>- **Project name inline validation shipped:** [!239389](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/239389) merged ([#597207](https://gitlab.com/gitlab-org/gitlab/-/work_items/597207)), moving project name validation errors inline on both the create and edit forms and adding a required-field error message. This delivers the first piece of the Iteration 1 inline-validation UX ([&21638](https://gitlab.com/groups/gitlab-org/-/work_items/21638)), replacing disruptive post-submit errors with immediate feedback.<br>- **Group name inline validation in review:** The group name create-form MR [!239243](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/239243) and its edit-page follow-up [!243038](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/243038) ([#597214](https://gitlab.com/gitlab-org/gitlab/-/work_items/597214)) continue in review, extending the same inline-validation pattern to groups.<br>- **SCIM compatibility warnings progressed:** Closed [#599959](https://gitlab.com/gitlab-org/gitlab/-/work_items/599959) — showing a SCIM warning when a project name contains unsupported characters in creation forms — rounding out the SCIM-awareness work in the naming flow.<br><br>:issue-blocked: **blockers**:<br><br>- [!239243](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/239243) has been awaiting approval since last week; the edit-page follow-up [!243038](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/243038) builds on it and cannot merge until the create-form MR lands.<br><br>:arrow_forward: **next**:<br><br>- Shepherd the group name validation MRs through review and merge: [!239243](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/239243), [!243038](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/243038).<br>- Continue Iteration 1 inline-validation work under [&21638](https://gitlab.com/groups/gitlab-org/-/work_items/21638), including project URL/slug inline errors ([#597215](https://gitlab.com/gitlab-org/gitlab/-/work_items/597215)).<br><br>_Copied from https://gitlab.com/groups/gitlab-org/-/epics/12504#note_3539097813_<br><!-- STATUS NOTE END --><br><br>---<br><br><br/><br/>**Nested Epics: 4**<br/><br/>• https://gitlab.com/groups/gitlab-org/-/epics/18689+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/18690+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/18691+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/20695+ <br/> | | [Explore > Group and project overview improvements](https://gitlab.com/groups/gitlab-org/-/epics/555) <br/> @smaglangit (+0 participants) <br/> ~"group::organizations" | 2024-02-10 | 2026-08-14 | **2026-07-09**: <br><!-- Create a high level summary (optional but encouraged) --><br><br>:clock1: **total hours spent this week by all contributors**: 0<br><br>:arrow_forward: **next**:<br><br>- Waiting for the 18.3 milestone to complete the trending projects removal cleanup<br><br>_Copied from https://gitlab.com/groups/gitlab-org/-/epics/555#note_3539097883_<br><!-- STATUS NOTE END --><br><br/><br/>**Nested Epics: 6**<br/><br/>• https://gitlab.com/groups/gitlab-org/-/epics/22322+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/18493+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/13791+ **2026-04-09**: <!-- Create a high level summary (optional but encouraged) --> :clock1: **total hours spent this week by all contributors**: 2 :tada: **achievements**: - Successful rollout on GitLab.com :arrow_forward: **next**: - Remove the feature flag ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/230233)) _Copied from https://gitlab.com/groups/gitlab-org/-/epics/13791#note_3233703400_ <!-- STATUS NOTE END --><br/>• https://gitlab.com/groups/gitlab-org/-/epics/13786+ **2026-03-26**: <!-- Create a high level summary (optional but encouraged) --> :clock1: **total hours spent this week by all contributors**: 0.5 :arrow_forward: **next**: - Cleanup unused code _Copied from https://gitlab.com/groups/gitlab-org/-/epics/13786#note_3192662305_ <!-- STATUS NOTE END --><br/>• https://gitlab.com/groups/gitlab-org/-/epics/20536+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/20535+ <br/> | | [Replace legacy namespace state management with new state machine](https://gitlab.com/groups/gitlab-org/-/epics/17958) <br/> @aakriti.gupta (+0 participants) <br/> ~"group::organizations" | 2026-01-10 | 2026-09-11 | <br/><br/>**Nested Epics: 3**<br/><br/>• https://gitlab.com/groups/gitlab-org/-/epics/21848+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/22031+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/22032+ <br/> | | [Make group/project transfer async with the `transfer_in_progress` state, implement user notifications and add log dashboards](https://gitlab.com/groups/gitlab-org/-/epics/20521) <br/> @shubhamkrai (+0 participants) <br/> ~"group::organizations" | 2026-02-14 | 2026-08-14 | | | [Propagation-based state inheritance for namespaces](https://gitlab.com/groups/gitlab-org/-/epics/21607) <br/> @aakriti.gupta (+0 participants) <br/> ~"group::organizations" | 2026-05-16 | 2026-08-14 | **2026-07-02**: <br>:clock1: **total hours spent this week by all contributors**: 35h<br><br>:tada: **achievements**:<br><br>- **Phase 2 boundary enforcement completed:** [!237686](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/237686) merged ([#599292](https://gitlab.com/gitlab-org/gitlab/-/work_items/599292)), adding cursor rewind so the iterator detects concurrent state changes mid-traversal and skips/rewinds affected batches. This closes out the correctness guarantees for the state-aware tree iterator and unblocks the Phase 3 workers.<br>- **Phase 4 read-path and constants landed:** Shane merged [!242843](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/242843) to make StateQuerying#effective_state read the propagated column directly instead of traversing ancestors ([#599306](https://gitlab.com/gitlab-org/gitlab/-/work_items/599306)), and [!242842](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/242842) defining the propagated/non-propagated state classification constants ([#599304](https://gitlab.com/gitlab-org/gitlab/-/work_items/599304)). Together these deliver the fast column-comparison reads that motivate the whole propagation model.<br>- **Phase 3 propagation workers progressing:** The core [StatePropagationWorker](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/242220) ([#599298](https://gitlab.com/gitlab-org/gitlab/-/work_items/599298)), reconciliation [StatePropagationCronWorker](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/242221) ([#599300](https://gitlab.com/gitlab-org/gitlab/-/work_items/599300)), and [StatePrecedence module](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/241091) ([#599297](https://gitlab.com/gitlab-org/gitlab/-/work_items/599297)) continued to be iterated on and are being readied for review now that the iterator has merged.<br>- **Documentation:** The developer docs MR [!242501](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/242501) ([#604120](https://gitlab.com/gitlab-org/gitlab/-/work_items/604120)) moved out of draft and into review, and the maintenance state is being documented on ADR 003.<br><br>:issue-blocked: **blockers**:<br><br>- No hard blockers this week.<br><br>:arrow_forward: **next**:<br><br>- Move the Phase 3 worker drafts ([!242220](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/242220), [!242221](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/242221), [!241091](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/241091)) out of draft and get them merged.<br>- Continue Phase 4 with [#599307](https://gitlab.com/gitlab-org/gitlab/-/work_items/599307).<br><br>_Copied from https://gitlab.com/groups/gitlab-org/-/epics/21607#note_3539097982_<br><!-- STATUS NOTE END --><br><br/><br/>**Nested Epics: 7**<br/><br/>• https://gitlab.com/groups/gitlab-org/-/epics/21920+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21921+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21922+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21923+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21924+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21925+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21926+ <br/> | ### :soon: Ready Linked epics that are ready to start | **Topic** | |-----------| | [Resolve ambiguous usage of the term "Inactive Projects"](https://gitlab.com/groups/gitlab-org/-/epics/18383) <br/> ~"group::organizations" | ### :arrow_forward: Next These are the epics we will be focusing on next | **Topic** | **Target Start Date** | **Summary** | |-----------|-----------------------|-------------| | [Legacy State Management Cleanup](https://gitlab.com/groups/gitlab-org/-/epics/17959) <br/> (+0 participants) <br/> ~"group::organizations" | 2026-02-14 | | | [Implement Resource Limits for gitlab.com](https://gitlab.com/groups/gitlab-org/-/epics/21582) <br/> @rymai (+0 participants) <br/> ~"group::organizations" | | <br/><br/>**Nested Epics: 5**<br/><br/>• https://gitlab.com/groups/gitlab-org/-/epics/21933+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21934+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21935+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21936+ <br/>• https://gitlab.com/groups/gitlab-org/-/epics/21937+ <br/> | ### :rotating_light: Epics that need attention These linked epics are not in the correct state or missing a workflow label <details> | **Topic** | **Links** | **Reason** | |-----------|-----------|-------------| | [Badges improvements](https://gitlab.com/groups/gitlab-org/-/epics/9904) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Consolidate Groups and Projects](https://gitlab.com/groups/gitlab-org/-/epics/6473) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Project improvements](https://gitlab.com/groups/gitlab-org/-/epics/8486) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Topics improvements](https://gitlab.com/groups/gitlab-org/-/epics/8489) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project sorting and filtering improvements](https://gitlab.com/groups/gitlab-org/-/epics/9012) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project improvement archive](https://gitlab.com/groups/gitlab-org/-/epics/14016) <br/> (+0) <br/> | Labeling problem, epic has no workflow label | | [Group and project visibility improvements](https://gitlab.com/groups/gitlab-org/-/epics/9906) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project deletion improvements](https://gitlab.com/groups/gitlab-org/-/epics/10087) <br/> @peterhegman (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Projects API enhancements](https://gitlab.com/groups/gitlab-org/-/epics/9479) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project (Tenant Scale) settings improvements](https://gitlab.com/groups/gitlab-org/-/epics/14041) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Groups API enhancements](https://gitlab.com/groups/gitlab-org/-/epics/9478) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project archiving improvements](https://gitlab.com/groups/gitlab-org/-/epics/12262) <br/> @shubhamkrai (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project transfer improvements](https://gitlab.com/groups/gitlab-org/-/epics/12260) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project creation flow improvements](https://gitlab.com/groups/gitlab-org/-/epics/12259) <br/> @jason_istakinganap (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project UI improvements](https://gitlab.com/groups/gitlab-org/-/epics/8756) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project landing page improvements](https://gitlab.com/groups/gitlab-org/-/epics/12282) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project starring improvements](https://gitlab.com/groups/gitlab-org/-/epics/12265) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project avatar improvements](https://gitlab.com/groups/gitlab-org/-/epics/12279) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [User Profile > Group and project list enhancements](https://gitlab.com/groups/gitlab-org/-/epics/12277) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project activity improvements](https://gitlab.com/groups/gitlab-org/-/epics/12281) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Your Work > Group and project overview improvements](https://gitlab.com/groups/gitlab-org/-/epics/12280) <br/> @peterhegman (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project GraphQL API enhancements](https://gitlab.com/groups/gitlab-org/-/epics/14015) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Group and project edit flow improvements](https://gitlab.com/groups/gitlab-org/-/epics/12266) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Implement state machine backend for groups and projects](https://gitlab.com/groups/gitlab-org/-/epics/17954) <br/> @aakriti.gupta (+4) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Admin Area > Group and project list improvements](https://gitlab.com/groups/gitlab-org/-/epics/14920) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [[Follow-up] Group and project archiving improvements](https://gitlab.com/groups/gitlab-org/-/epics/21987) <br/> @shubhamkrai (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | | [Replace personal namespaces with groups](https://gitlab.com/groups/gitlab-org/-/epics/8757) <br/> (+0) <br/> group::organizations | Labeling problem, epic has no workflow label | </details> ## [Roadmap](https://gitlab.com/groups/gitlab-org/-/roadmap?state=all&sort=START_DATE_ASC&layout=MONTHS&timeframe_range_type=THREE_YEARS&epic_iid=8487&search=Phase&progress=COUNT&show_progress=true&show_milestones=false&milestones_type=ALL&show_labels=false) Epic Color Legend: - `#1068BF`: Not Started - `#217645`: On Track - `#9E5400`: Needs Attention - `#C91C00`: At Risk
epic