Show an "upcoming" status for Releases
Problem to Solve
It's often helpful to start defining a release and making it visible before it is shipped so you can collect information, assets, and/or give people awareness that something is coming. The advantage of this is similar to the value of setting roadmaps versions: so you plan your releases ahead of time, and make adjustments when finalizing the release.
This supports the longer term GitLab vision of making releases a first-class entity; because there are events that occur when a release would otherwise be "upcoming", there must be a place for these to be associated.
Modify Release object/API to allow upcoming releases to be published and visible. If the
released_at date of the set in the future, the release is marked as "Upcoming Release". The first iteration covered by this issue will mark a Release as an "Upcoming Release" when you set a future date in the API in
released_at is not modified,
created_at will be assumed and make the release the date it was created. The
released_at can be edited afterwards if the user would like to make it an "Upcoming Release".
In addition, this iteration will introduce the date ordered listed of all Releases on the Release Overview page with "Upcoming Releases" marked as such to distinguish future date releases. You will not see the "Upcoming Release" on the GitLab Tags page as that will be reserved for published git-tags only.
This current issue is only for showing the status of upcoming release in the UI. This issue won't cover the ability to choose a date for a release from the UI or similar UI release admin capabilities. If considered for another iteration, the change should happen in https://gitlab.com/gitlab-org/gitlab-ce/issues/56026 or similar future issue not yet defined.
Background and Considerations
"Upcoming Release" was the chosen term for the release type after reviewing multiple options. The other release type options considered were pre-release and draft release. For this issue, we will not create release types. In the future iterations we will consider other release types as the solution intent matures. At that future point in time, we will revisit the definitions for formal documentation and use.
For reference, the terms and definitions we used to decision this were:
A draft release implies the release could still be modified or edited. It is recognized this could be confusing but may not be clear to understand status.
The term pre-release is typically associated with a release that does exist, but is of either an alpha, beta or release candidate quality.
An upcoming release is a in progress change that is set for a future date and not yet released / committed. The value of this is to begin to publish visibly what is in consideration for future release.
User story: As a user, I want to be able to identify an upcoming release, so that I can see the difference between release versions.
- In the Release overview page, user should see an orange label component indicating that the newly created release version is marked as Upcoming Release.
- Upcoming releases appear at the top based on date order of the
Sample upcoming release version in github: https://gitlab.com/gitlab-org/gitlab-ce/uploads/a5b0c2e6fc4497d67c2e371aaa1d305e/image.png