From 73f7755b3560bb938e746d5ed89dc891d303c763 Mon Sep 17 00:00:00 2001 From: gagik Date: Mon, 27 Oct 2025 18:01:35 +0100 Subject: [PATCH 1/6] chore: update release process documentation This uses the wording from the mongosh release process to better direct our process with Jira and publicizing our release. --- CONTRIBUTING.md | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 34fe72f74..2f88d7f68 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -143,31 +143,23 @@ When adding new tools to the MCP server: ## Release Process -Our release process is automated using GitHub Actions workflows: +To release a new version of the MCP server, follow these steps: -### Version Bumping - -1. To create a new version, go to the GitHub repository Actions tab -2. Select the "Version Bump" workflow -3. Click "Run workflow" and choose one of the following options: +1. Ensure there is a Jira _Release_ ticket in the [`MCP` project](https://jira.mongodb.org/projects/MCP) for the new release and move it to _In Progress_. +2. Verify that the Jira tickets you expect to be released are correctly mapped to the _Release_ ticket. Add any additional required documentation to the release ticket. +3. To create a new version, go to the GitHub repository Actions tab and run the "Version Bump" workflow with one of the following options: - `patch` (e.g., 1.0.0 → 1.0.1) for backward-compatible bug fixes - `minor` (e.g., 1.0.0 → 1.1.0) for backward-compatible new features - `major` (e.g., 1.0.0 → 2.0.0) for breaking changes - A specific version number (e.g., `1.2.3`) -4. This creates a pull request with the version change -5. Once approved and merged, the version is updated - -### Automatic Publishing - -When a version bump is merged to the main branch: +4. This creates a pull request with the version change. +5. Merge this pull request if all looks correct. This will trigger the "Publish" workflow which will publish it to **NPM**, **Docker** and the **MCP Registry**. +6. Verify that the new version is published correctly by checking: + - NPM: https://www.npmjs.com/package/mongodb-mcp-server + - Docker: https://hub.docker.com/r/mongodb/mongodb-mcp-server + - MCP Registry: `curl "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mongodb-js%2Fmongodb-mcp-server/versions/latest"` +7. Close the Jira ticket for the release and post an update in the `#mongodb-mcp` Slack channel. -1. The "Publish" workflow automatically runs -2. It checks if the version already exists as a git tag -3. If the version is new, it: - - Builds the package - - Publishes to NPM - - Creates a git tag for the version - - Creates a GitHub release with auto-generated release notes ### Code Quality From 61304778a2f552c2e4cb45bf670b00c3a80ad356 Mon Sep 17 00:00:00 2001 From: gagik Date: Mon, 27 Oct 2025 18:06:50 +0100 Subject: [PATCH 2/6] chore: format --- CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2f88d7f68..58bb1471b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -160,7 +160,6 @@ To release a new version of the MCP server, follow these steps: - MCP Registry: `curl "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mongodb-js%2Fmongodb-mcp-server/versions/latest"` 7. Close the Jira ticket for the release and post an update in the `#mongodb-mcp` Slack channel. - ### Code Quality All pull requests automatically run through the "Code Health" workflow, which: From 22e29bacbcbeea7ee8b8ed4794441bd7c18b3ce1 Mon Sep 17 00:00:00 2001 From: Himanshu Singh Date: Mon, 27 Oct 2025 18:30:02 +0100 Subject: [PATCH 3/6] chore: add a small note about pre-release --- CONTRIBUTING.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 58bb1471b..687f81e21 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -147,11 +147,15 @@ To release a new version of the MCP server, follow these steps: 1. Ensure there is a Jira _Release_ ticket in the [`MCP` project](https://jira.mongodb.org/projects/MCP) for the new release and move it to _In Progress_. 2. Verify that the Jira tickets you expect to be released are correctly mapped to the _Release_ ticket. Add any additional required documentation to the release ticket. -3. To create a new version, go to the GitHub repository Actions tab and run the "Version Bump" workflow with one of the following options: +3. To create a new version, go to the GitHub repository Actions tab and run the "Prepare Release" workflow with one of the following options: - `patch` (e.g., 1.0.0 → 1.0.1) for backward-compatible bug fixes - `minor` (e.g., 1.0.0 → 1.1.0) for backward-compatible new features - `major` (e.g., 1.0.0 → 2.0.0) for breaking changes - A specific version number (e.g., `1.2.3`) + - **Pre-release versions**: To create a pre-release, enter the version suffixed by `-prerelease.{n}` where `n` is the pre-release number (e.g., `1.1.0-prerelease.1`, `1.1.0-prerelease.2`). Pre-releases are release candidates that provide early access to new features before they are promoted to stable. + + > **Note**: Stable releases are published under the `latest` tag on NPM and are intended for production use. Pre-release versions are published under the `prerelease` tag and serve as release candidates for early access and feedback before being released as stable versions. + 4. This creates a pull request with the version change. 5. Merge this pull request if all looks correct. This will trigger the "Publish" workflow which will publish it to **NPM**, **Docker** and the **MCP Registry**. 6. Verify that the new version is published correctly by checking: From 6eaa0381c884ddaa710417403c474e9d0489a2f2 Mon Sep 17 00:00:00 2001 From: gagik Date: Tue, 28 Oct 2025 10:20:28 +0100 Subject: [PATCH 4/6] chore: add note about renaming vNext --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 687f81e21..d06348b45 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -162,7 +162,9 @@ To release a new version of the MCP server, follow these steps: - NPM: https://www.npmjs.com/package/mongodb-mcp-server - Docker: https://hub.docker.com/r/mongodb/mongodb-mcp-server - MCP Registry: `curl "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mongodb-js%2Fmongodb-mcp-server/versions/latest"` -7. Close the Jira ticket for the release and post an update in the `#mongodb-mcp` Slack channel. +7. Close the Jira ticket for the release. +8. Go to the [Releases](https://jira.mongodb.org/projects/MCP?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=released-unreleased) section the and rename the `vNext` to the new version number and mark it as Released. Create a new `vNext` for the next release. +9. Post an update in the `#mongodb-mcp` Slack channel. ### Code Quality From 4df7fba43c6ba2ba7cc127a59095ca1d5ff4b3cd Mon Sep 17 00:00:00 2001 From: Gagik Amaryan Date: Thu, 30 Oct 2025 14:21:55 +0100 Subject: [PATCH 5/6] chore: clarfiy wording --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d06348b45..b92e2c676 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -146,7 +146,7 @@ When adding new tools to the MCP server: To release a new version of the MCP server, follow these steps: 1. Ensure there is a Jira _Release_ ticket in the [`MCP` project](https://jira.mongodb.org/projects/MCP) for the new release and move it to _In Progress_. -2. Verify that the Jira tickets you expect to be released are correctly mapped to the _Release_ ticket. Add any additional required documentation to the release ticket. +2. Verify that the Jira tickets you expect to be released are correctly mapped to the expected Release version. Add any additional required documentation to the release ticket. 3. To create a new version, go to the GitHub repository Actions tab and run the "Prepare Release" workflow with one of the following options: - `patch` (e.g., 1.0.0 → 1.0.1) for backward-compatible bug fixes - `minor` (e.g., 1.0.0 → 1.1.0) for backward-compatible new features From 6a8eee6a706e91ab579b285b795411ab1703b90a Mon Sep 17 00:00:00 2001 From: gagik Date: Thu, 30 Oct 2025 14:29:16 +0100 Subject: [PATCH 6/6] chore: lint --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a870c1d38..23dc10e44 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -166,7 +166,7 @@ To release a new version of the MCP server, follow these steps: - NPM: https://www.npmjs.com/package/mongodb-mcp-server - Docker: https://hub.docker.com/r/mongodb/mongodb-mcp-server - MCP Registry: `curl "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mongodb-js%2Fmongodb-mcp-server/versions/latest"` -7. Close the Jira ticket for the release. +7. Close the Jira ticket for the release. 8. Go to the [Releases](https://jira.mongodb.org/projects/MCP?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=released-unreleased) section the and rename the `vNext` to the new version number and mark it as Released. Create a new `vNext` for the next release. 9. Post an update in the `#mongodb-mcp` Slack channel.