Last updated 6 months ago

Welcome to the ReleasePage documentation, here we can help you learn more about Release Pages, what they can do for your project, and how to get started.

What is a Release Page?

A Release Page serves as a communication tool, allowing you to describe releases of your software to your users.

Why should I use it?

Git tags provide a powerful method of referencing code at a specific point in time. Although GitHub allows you to utilise tags in a friendly way with GitHub Releases, it is decidedly developer focused. There is no easy method of sharing these details with your users.

Alongside this, GitHub allows other GitHub users to stay up to date with a project repository by starring or following it. These actions are only available to GitHub users, and there is no customisation, you can either be notified of all project events, or none. This means important information can easily by lost in the noise.

Finally, it is common for a project to be comprised of several repositories, for instance, a website backed by a public API. GitHub currently affords no way to combine repositories into a single logical component. This means that in the case of a multi-repository project, the above actions of starring, following, and accessing Releases, must be performed on each repository in order to get all information for a project.

ReleasePage addresses these three problems by;

  1. Providing a friendly page showing details of latest releases.

  2. Allowing a user to subscribe to project updates.

  3. ā€‹Grouping repositories into a single release version.

How does it work?

Release Pages work in tandem with your existing GitHub tags and releases.

After you have created a Release Page, we politely ask GitHub if we can be notified whenever release details are changed. This agreement is called a GitHub hook. See the GitHub API documentation for more details here.

After the hook is created, every time you publish a release through the GitHub website we are notified and receive a copy of the release details. We augment these release details with some extra properties, and store them in our database.

When someone accesses your Release Page, we gather the relevant releases together and use them to create your customised page. ā€‹