Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 34 additions & 11 deletions RELEASE.MD
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Releasing a new version of FAIR Connect

## 0. Ensure adequate permissions
To perform a release of FAIR Connect, you need the following:
- `write` or higher permissions on the [FAIR Connect repository](https://github.com/fairpm/fair-plugin)
- `maintain` or higher permissions on the [TSC repository](https://github.com/fairpm/tsc) (this is required to post a Discussion in the Announcements category per step 7.3.)

## 1. Verify milestone readiness

Before starting the release process, ensure that the milestone for the upcoming release is finalized and clear.
Expand Down Expand Up @@ -63,7 +68,7 @@ Once the milestone contains no open issues or pull requests, the release is read

7. Continue to the next step once all workflows finish.

## 5. Create a new release on GitHub and update CHANGELOG.md
## 5. Create a new release on GitHub

1. From the repository’s main page, click the **Releases** link — or go directly to the [Releases page](https://github.com/fairpm/fair-plugin/releases).

Expand All @@ -79,25 +84,43 @@ Once the milestone contains no open issues or pull requests, the release is read
- Leave **Previous tag** set to `Auto`.
- Click **Generate release notes**.
- Review and edit the generated notes as needed.
- Copy/paste the release notes into the **CHANGELOG.md** file under the new version heading and date.
- Click the **Save draft** button.

> [!TIP]
> You can add additional information directly in the **Describe this release** field.
> If a teammate is preparing a release post for FAIR.pm, coordinate with them to include any relevant details.

6. Check **Set as the latest release**.
## 6. Update the changelog before publishing the GitHub release

1. In a new browser tab, open [`CHANGELOG.md`](/CHANGELOG.md).

2. Click the pencil icon to edit the file directly in the browser.

3. Copy the release notes into `CHANGELOG.md` under the new version heading and date (e.g., `1.2.0 / 2025-12-11`).

4. Click the **Commit changes** button. In the panel that opens:
- Select **Create a new branch for this commit and start a pull request**.
- Enter a branch name or use the default (e.g., `update-changelog-1.2.0`).
- Click the **Sign off and propose changes** button.

5. Create a pull request for the updated `CHANGELOG.md` file.

6. Review, approve, and merge the pull request.


## 7. Finalize and publish the release

1. Return to the **Draft Release** page.

7. Check **Create a discussion for this release** and choose the **Announcements** category.
2. Check **Set as the latest release**.

8. In a new browser tab, go to the repository’s **Actions** tab and confirm all workflows have completed.
3. Check **Create a discussion for this release** and choose the **Announcements** category.

9. Return to the **Draft Release** page and click **Publish release**.
4. In a new browser tab, go to the repository’s **Actions** tab and confirm all workflows have completed.

10. To verify release processing:
- Go to the **Actions** tab.
- Once workflows complete, the release is live.
5. Return to the **Draft Release** page and click **Publish release**. This initiates the remaining release workflows.

11. Verify successful release
6. Verify the release:
- Visit the [Releases page](https://github.com/fairpm/fair-plugin/releases) to confirm latest release.
- Check any site using FAIR Connect to ensure the new version is available.
- Check the API response for the updated version number.
- Verify the updated version number in the API response. (Example URL to check: https://api.fair.pm/git-updater/v1/update-api/?slug=fair-plugin)
1 change: 1 addition & 0 deletions inc/default-repo/namespace.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ function replace_repo_api_urls( $status, $args, $url ) {
if (
! str_contains( $url, 'api.wordpress.org/plugins/' )
&& ! str_contains( $url, 'api.wordpress.org/themes/' )
&& ! str_contains( $url, 'api.wordpress.org/translations/' )
&& ! str_contains( $url, 'api.wordpress.org/core/version-check/' )
) {
return $status;
Expand Down