Notifications for Releases
### User story
As a user, I want to subscribe to updates about new releases in a project, so that I'm notified about new versions even for projects I'm not part of.
#### Acceptance criteria
* Anyone who has access to view the releases page should be able to subscribe to new releases. Users that don't have disclosure/access to a project should not be able to subscribe to releases.
* If subscribed to new releases notifications, the user should receive a new email every time a release is published in a project. Only 1 (one) notification should be triggered to the user -- when a new release is available. The system should not notify the user of every issue that changes to close within a release, for example.
* Users should be able to subscribe to a release via project home page, user settings (notifications), and the Releases page.
* Project home page: Clicking the **notifications** button should trigger a dropdown. Clicking the **Custom** list option triggers a the **Custom notification events** modal. The option to subscribe to new releases notifications should be added as the first option on this list, in a checkbox that reads `New releases`.
* User settings (notifications): Clicking the button to update the **notifications** settings of a project should provide the same mechanism as the project home page.
* Releases home page: Clicking the **notifications** button should trigger a dropdown. The option to subscribe to new releases notifications should be added in the dropdown list.
* Users should be able to subscribe to releases notifications per project under the User Settings page: https://gitlab.com/profile/notifications
* If a user is subscribed to **Global** notifications, they should already be subscribed to new releases.
* If a user is subscribed to a "functionality"-agnostic notification option (for example, **on mention**), and selects to be subscribed to a "functionality" option (for example, **new releases**), the settings should combine, and not override one another. For example: I am subscribed to `on mention notifications`, and I select the option to subscribe for `new releases` notifications. I should now receive notifications for both options.
* We do not trigger email notification for upcoming releases. The user will receive only 1 (one) notification when the Release item is created/released. The user should not get email updates when the description/details of a release changes.
| Page view on GitLab | Prototype |
| ------ | ------ |
| Project home page |  |
| Project home page - modal |  |
| Releases home page |  |
##### Email template message
| **Email for new release** | example message |
| ------ | ------ |
| Email title | Project_Name | New release: [xx.xx] |
| Email body | A new release [xx.xx] for [project] was published. View more about this new [release on the release page](). <br> [Add_link_to_assets_to_email_body] <br> [Add_release_notes_to_email_body] |
| Email footer | You're receiving this email because of your account on [gitlab.com](). If you'd like to receive fewer emails, you can [unsubscribe]() from this thread or adjust your notification settings. |
### Target audience
Users of a project who aren’t necessarily part of the core team. This can be people who use a project's code/binary but are not otherwise involved, and just want to be aware when a new version comes out.
### Problem to solve
[We are adding releases](https://gitlab.com/gitlab-org/gitlab-ce/issues/41766) in GitLab. It should be possible to subscribe as a user to updates about new releases in a project you want to track, but aren’t otherwise involved with.
Use case from @DylanGriffith:
> I'm not sure how new this is but GitHub just notified me about the ability to subscribe to "Releases only" for a repo https://help.github.com/articles/watching-and-unwatching-releases-for-a-repository/ . This seems like a good feature for GitLab but also I just went ahead and subscribed to releases for Knative projects so that I'm notified about new versions.
### Further details
Anyone who has access to view the releases page should be able to subscribe to new releases; they could do this "manually" by looking every day.
### Proposal
Allow users to subscribe to releases. When a release is created, the user receives a notification that one has been made containing a link to the release.
Link to demo: https://www.youtube.com/watch?v=qyeNkGgqmH4
### What does success look like, and how can we measure that?
<!--- If no way to measure success, link to an issue that will implement a way to measure this -->
### Links / references
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
*This page may contain information related to upcoming products, features and functionality.
It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.*
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
issue