Skip to content

Implement release flow#4

Open
bettercallsaulj wants to merge 20 commits intodev_rust_sdk_authfrom
br_release
Open

Implement release flow#4
bettercallsaulj wants to merge 20 commits intodev_rust_sdk_authfrom
br_release

Conversation

@bettercallsaulj
Copy link
Copy Markdown
Collaborator

This PR must be merged after #3

RahulHere added 20 commits March 22, 2026 00:17
Prepare release v0.1.2:
- Update Cargo.toml: version = "0.1.2"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2] - 2026-03-20

gopher-orch version: 0.1.2

Changes in this release:
### Added
- Initial release of gopher-mcp-rust SDK
- Rust bindings for gopher-orch native library via FFI
- Runtime library loading using `libloading` crate
- OAuth 2.0 authentication support (feature-gated with `auth` feature)
- MCP (Model Context Protocol) client implementation
- GopherAgent for AI agent orchestration
- ConfigBuilder for client configuration
- Auth example server with Axum web framework
### Features
Prepare release v0.1.2.1:
- Update Cargo.toml: version = "0.1.2.1"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.1] - 2026-03-21

gopher-orch version: 0.1.2

Changes in this release:
crates.io only supports semver (X.Y.Z), not 4-part versions (X.Y.Z.E).
This change converts extended versions to semver pre-release format:
- X.Y.Z.E -> X.Y.Z-E in Cargo.toml
- Git tags remain as vX.Y.Z.E

Changes:
- Add CARGO_VERSION variable for semver-compatible version
- Update Cargo.toml from 0.1.2.1 to 0.1.2-1
- Show both versions in summary when they differ
Prepare release v0.1.2.3:
- Update Cargo.toml: version = "0.1.2.3"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.3] - 2026-03-21

gopher-orch version: 0.1.2
dump-version.sh now only prepares the release locally:
- Updates Cargo.toml and CHANGELOG.md
- Creates git commit and tag
- No longer publishes to crates.io directly

Publishing to crates.io is handled by the CI workflow after pushing,
which provides better automation and consistency.
Prepare release v0.1.2.4:
- Update Cargo.toml: version = "0.1.2.4"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.4] - 2026-03-21

gopher-orch version: 0.1.2
GitHub Actions requires contains() function syntax, not keyword.
Prepare release v0.1.2.5:
- Update Cargo.toml: version = "0.1.2.5"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.5] - 2026-03-21

gopher-orch version: 0.1.2

Changes in this release:
Extended versions (X.Y.Z.E) should download native binaries from the
base gopher-orch release (X.Y.Z), not the extended version tag.

- Add base_version and base_version_tag outputs
- Use base_version_tag for gopher-orch download
- Example: v0.1.2.5 SDK downloads from gopher-orch v0.1.2
Prepare release v0.1.2.6:
- Update Cargo.toml: version = "0.1.2.6"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.6] - 2026-03-21

gopher-orch version: 0.1.2
Update crate name for crates.io publishing:
- Cargo.toml: name = "gopher-mcp-rust", lib.name = "gopher_mcp_rust"
- Update all imports from gopher_orch to gopher_mcp_rust
- Update examples/auth dependency
- Update README.md references
- Fix license from MIT to Apache-2.0 (matches LICENSE file)
- Update Cargo.toml license field
- Add OAuth 2.0 Authentication to features list
- Add "With Auth Feature" installation section
- Add "Auth MCP Server Example" section with usage docs
- Update version in installation examples
Prepare release v0.1.2.7:
- Update Cargo.toml: version = "0.1.2.7"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.7] - 2026-03-21

gopher-orch version: 0.1.2
- Add step to push tag to remote if not already present
- User only needs to run: git push origin br_release
- Workflow will detect and push the tag automatically
- Fix package name in release notes (gopher-orch -> gopher-mcp-rust)
Prepare release v0.1.2.8:
- Update Cargo.toml: version = "0.1.2.8"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.8] - 2026-03-21

gopher-orch version: 0.1.2
The publish-crates job was being skipped even when PUBLISH_CRATES=true
because it also required release_created to be true. This failed when
the GitHub release already existed (e.g., re-running the workflow).

Now the job runs whenever:
- vars.PUBLISH_CRATES == 'true', OR
- commit message contains '[publish]'
Prepare release v0.1.2.9:
- Update Cargo.toml: version = "0.1.2.9"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.9] - 2026-03-21

gopher-orch version: 0.1.2
The script now pushes the tag to remote automatically after creating it.
This allows the release workflow to find the tag when it runs.

User flow is now simplified to:
  1. ./dump-version.sh X.Y.Z
  2. git push origin br_release
Prepare release v0.1.2.10:
- Update Cargo.toml: version = "0.1.2.10"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.10] - 2026-03-21

gopher-orch version: 0.1.2

Changes in this release:
Prepare release v0.1.2.11:
- Update Cargo.toml: version = "0.1.2.11"
- Update CHANGELOG.md: [Unreleased] -> [0.1.2.11] - 2026-03-22

gopher-orch version: 0.1.2

Changes in this release:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant