Skip to content

chore(release): bump workspace versions for v1.1.0 - #512

Merged
slin1237 merged 1 commit into
mainfrom
slin/v1.1.0
Feb 23, 2026
Merged

slin1237 merged 1 commit into
mainfrom
slin/v1.1.0

Conversation

@slin1237

@slin1237 slin1237 commented Feb 23, 2026 •

Copy link
Copy Markdown
Member

Summary

Bump all workspace crate and Python package versions for the SMG v1.1.0 release. Also improves version management tooling.

What changed

Version bumps (all crates since last tag)

Crate Old New Bump
smg 1.0.1 1.1.0 minor
openai-protocol 1.1.0 1.2.0 minor
tool-parser 1.1.0 1.1.1 patch
wfaas 1.0.1 1.0.2 patch
llm-tokenizer 1.1.0 1.2.0 minor
smg-auth 1.1.0 1.1.1 patch
smg-mcp 2.0.0 2.1.0 minor
kv-index 1.0.0 1.0.1 patch
llm-multimodal 1.1.0 1.2.0 minor
smg-wasm 1.0.0 1.0.1 patch
smg-mesh 1.1.0 1.1.1 patch
smg-grpc-client 1.1.0 1.2.0 minor
smg-grpc-proto (Python) 0.3.3 0.4.0 minor
smg-golang (bindings) 0.4.0 1.1.0 —
smg-python (bindings) 1.0.1 1.1.0 minor

Workspace root Cargo.toml dependency versions synced to match.

Tooling improvements

  • Makefile: Removed grpc_client/python from bump-version / show-version targets since it is versioned independently (via check_release_versions.sh)
  • scripts/check_release_versions.sh: Added Python package support — the script now detects unbumped Python packages (via __version__) and offers to auto-fix them alongside Rust crates. Adds PYTHON_PACKAGES registry, get_python_version / set_python_version helpers, and wires into all three phases (check → propose → apply).

Test plan

  • make check-versions passes with all versions consistent
  • make show-version shows correct versions for the 5 core files
  • CI passes

Summary by CodeRabbit

  • Chores
    • Upgraded multiple internal package versions across the workspace to newer stable releases.
    • Enhanced release/versioning tooling to add Python package version support and synchronize package version checks.

@github-actions github-actions Bot added tokenizer Tokenizer related changes python-bindings Python bindings changes dependencies Dependency updates grpc gRPC client and router changes mcp MCP related changes wasm WebAssembly related changes tool-parser Tool/function call parser changes auth Authentication crate changes multimodal Multimodal crate changes protocols Protocols crate changes workflow Workflow crate changes model-gateway Model gateway crate changes labels Feb 23, 2026
@coderabbitai

coderabbitai Bot commented Feb 23, 2026 •

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Updates many workspace package versions and Python binding versions, removes grpc_client paths from Makefile version management, and extends the release/version-check script to detect and bump Python package versions alongside Rust crates.

Changes

Cohort / File(s) Summary
Root Workspace Dependencies
Cargo.toml
Reordered/realigned workspace entries and bumped multiple internal dependency versions (openai-protocol, tool-parser, wfaas, llm-tokenizer, smg-auth, smg-mcp, kv-index, llm-multimodal, smg-wasm, smg-mesh, smg-grpc-client).
Build Automation
Makefile
Removed grpc_client-related files from VERSION_FILES and omitted grpc_client paths from show-version and bump-version targets.
Rust Package Versions
auth/Cargo.toml, bindings/golang/Cargo.toml, bindings/python/Cargo.toml, grpc_client/Cargo.toml, kv_index/Cargo.toml, mcp/Cargo.toml, mesh/Cargo.toml, model_gateway/Cargo.toml, multimodal/Cargo.toml, protocols/Cargo.toml, tokenizer/Cargo.toml, tool_parser/Cargo.toml, wasm/Cargo.toml, workflow/Cargo.toml
Individual patch/minor version bumps across 14 Rust packages; no dependency or functional changes in manifests beyond version fields.
Python Package Versions
bindings/python/pyproject.toml, bindings/python/src/smg/version.py, grpc_client/python/smg_grpc_proto/__init__.py
Updated Python project/version constants: bindings/python 1.0.1→1.1.0 and grpc_client proto package 0.3.3→0.4.0.
Release Version Script
scripts/check_release_versions.sh
Added generic Python package handling: PYTHON_PACKAGES registry, helpers get_python_version, get_python_version_at_ref, set_python_version, logic to detect/apply Python version bumps, counters for Python changes, and integrated reporting/proposal/application flow for Python packages alongside crate checks.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev
  participant Repo
  participant Script as check_release_versions.sh
  participant GitRef as Git/Tag
  participant Crates as Rust Crates
  participant PyPkgs as Python Packages
  Dev->>Repo: push PR
  Repo->>Script: run version checks (CI)
  Script->>GitRef: fetch tag/HEAD versions
  Script->>Crates: read Cargo.toml versions
  Script->>PyPkgs: read pyproject / __version__ files
  Script->>GitRef: diff files vs tag to detect changes
  alt crate or python changes found
    Script->>Repo: report NEEDS_CRATE_BUMP / NEEDS_PY_BUMP
    Script->>Dev: propose bump changes (show-version)
    Dev->>Script: run bump-version
    Script->>Crates: update Cargo.toml versions
    Script->>PyPkgs: set new __version__ / pyproject version
    Script->>Repo: verify updated files synced
  else no changes
    Script->>Dev: report clean
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • #484 — Extends check_release_versions.sh with Python package support and related Makefile updates (closely related to script and Makefile edits).
  • #510 — Generalizes prior PyPI/proto-specific checks into broader Python-package handling (overlaps script logic changes).
  • #413 — Changes around grpc_client and crate re-exports; related to removal of grpc_client entries from Makefile and workspace deps.

Suggested reviewers

  • CatherineSue
  • tonyluj
  • key4ng
  • whybeyoung

Poem

🐰 I hopped through Cargo, pyproject, and Make,
Bumped tiny numbers for progress' sake.
Scripts learned Python, crates said "hello",
grpc_client paths took a gentle low—
Hop, bump, release — a fluffy little shake! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: bumping workspace versions for the v1.1.0 release, which is the primary focus of the changeset across Cargo.toml files and Python package versions.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch slin/v1.1.0

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @slin1237, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request prepares the project for the v1.1.0 release by updating version numbers across all Rust crates and Python packages within the workspace. Concurrently, it refines the internal version management scripts and build tools to provide more comprehensive and automated support for both Rust and Python components, streamlining future release processes.

Highlights

  • Workspace Version Bumps: All workspace Rust crates and Python packages have had their versions bumped in preparation for the SMG v1.1.0 release. This includes minor and patch bumps across various components like openai-protocol, smg-mcp, llm-tokenizer, smg-golang, and smg-python.
  • Improved Version Management Tooling: The Makefile has been updated to remove grpc_client/python from its bump-version and show-version targets, as this component is now managed independently. The scripts/check_release_versions.sh script has been significantly enhanced to support Python packages, allowing it to detect unbumped Python packages and offer auto-fixing alongside Rust crates.
  • Python Package Version Checking: The check_release_versions.sh script now includes a PYTHON_PACKAGES registry and new helper functions (get_python_version, set_python_version) to manage Python package versions, integrating them into the check, propose, and apply phases of the versioning process.
Changelog
  • Cargo.toml
    • Updated openai-protocol version from 1.1.0 to 1.2.0
    • Updated tool-parser version from 1.1.0 to 1.1.1
    • Updated wfaas version from 1.0.1 to 1.0.2
    • Updated llm-tokenizer version from 1.1.0 to 1.2.0
    • Updated smg-auth version from 1.1.0 to 1.1.1
    • Updated smg-mcp version from 2.0.0 to 2.1.0
    • Updated kv-index version from 1.0.0 to 1.0.1
    • Updated llm-multimodal version from 1.1.0 to 1.2.0
    • Updated smg-wasm version from 1.0.0 to 1.0.1
    • Updated smg-mesh version from 1.1.0 to 1.1.1
    • Updated smg-grpc-client version from 1.1.0 to 1.2.0
  • Makefile
    • Removed grpc_client/python related files from VERSION_FILES variable
    • Removed grpc_client/python version display from show-version target
    • Removed grpc_client/python version update commands from bump-version target
  • auth/Cargo.toml
    • Updated package version from 1.1.0 to 1.1.1
  • bindings/golang/Cargo.toml
    • Updated package version from 0.4.0 to 1.1.0
  • bindings/python/Cargo.toml
    • Updated package version from 1.0.1 to 1.1.0
  • bindings/python/pyproject.toml
    • Updated project version from 1.0.1 to 1.1.0
  • bindings/python/src/smg/version.py
    • Updated __version__ string from 0.4.0 to 1.1.0
  • grpc_client/Cargo.toml
    • Updated package version from 1.1.0 to 1.2.0
  • grpc_client/python/smg_grpc_proto/init.py
    • Updated __version__ string from 0.3.3 to 0.4.0
  • kv_index/Cargo.toml
    • Updated package version from 1.0.0 to 1.0.1
  • mcp/Cargo.toml
    • Updated package version from 2.0.0 to 2.1.0
  • mesh/Cargo.toml
    • Updated package version from 1.1.0 to 1.1.1
  • model_gateway/Cargo.toml
    • Updated package version from 1.0.1 to 1.1.0
  • multimodal/Cargo.toml
    • Updated package version from 1.1.0 to 1.2.0
  • protocols/Cargo.toml
    • Updated package version from 1.1.0 to 1.2.0
  • scripts/check_release_versions.sh
    • Updated script comments to include Python packages in version checks
    • Added PYTHON_PACKAGES registry for independent Python package versioning
    • Added get_python_version function to extract __version__ from Python files
    • Added get_python_version_at_ref function to extract Python versions at a specific git ref
    • Added set_python_version function to update __version__ in Python files
    • Added NEEDS_PY_BUMP array to track Python packages requiring version bumps
    • Implemented Phase 1b to check all Python packages for changes and unbumped versions
    • Updated summary output to include Python package counts
    • Modified total_fixes calculation to include Python packages
    • Added logic to display proposed Python package version bumps
    • Added logic to apply fixes for Python package version bumps
  • tokenizer/Cargo.toml
    • Updated package version from 1.1.0 to 1.2.0
  • tool_parser/Cargo.toml
    • Updated package version from 1.1.0 to 1.1.1
  • wasm/Cargo.toml
    • Updated package version from 1.0.0 to 1.0.1
  • workflow/Cargo.toml
    • Updated package version from 1.0.1 to 1.0.2
Activity
  • No human activity (comments, reviews) has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

@mergify

mergify Bot commented Feb 23, 2026

Copy link
Copy Markdown
Contributor

Hi @slin1237, this PR has merge conflicts that must be resolved before it can be merged. Please rebase your branch:

git fetch origin main
git rebase origin/main
# resolve any conflicts, then:
git push --force-with-lease

@mergify mergify Bot added the needs-rebase PR has merge conflicts that need to be resolved label Feb 23, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1f4dfaac1e

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread scripts/check_release_versions.sh

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@scripts/check_release_versions.sh`:
- Around line 343-348: The exclusion currently uses basename "$version_file"
which matches any __init__.py anywhere; change the diff counting line so it
excludes only the specific repo-relative version_file path (the variables
involved are TAG, path, version_file, diff_count). Replace the grep -cv
"$(basename "$version_file")$" part with an exact-match grep against
"$version_file" (for example use grep -cvFx "$version_file" or grep -cvF --
"$version_file") so the git diff --name-only output only ignores that specific
file.
- Around line 229-242: The two Python-version helper functions
get_python_version and get_python_version_at_ref should use grep -m1 to return
only the first __version__ match (to match get_crate_version behavior and avoid
picking up duplicates in comments/docstrings); update both grep calls to include
-m1 so they stop after the first match and continue piping that single line into
sed for extraction.

Comment thread scripts/check_release_versions.sh
Comment thread scripts/check_release_versions.sh

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request successfully bumps versions across the workspace for the v1.1.0 release and introduces valuable improvements to the version management tooling. The addition of Python package support in check_release_versions.sh is a great step toward automating release checks. However, I identified a few issues in the script's implementation, particularly regarding the handling of pyproject.toml for Python packages and some fragile regex patterns in version extraction and replacement. Addressing these will ensure the release process remains robust and consistent.

I am having trouble creating individual review comments. Click here to see my feedback.

Makefile (143-144)

high

Removing grpc_client/python/pyproject.toml from the Makefile's version management is premature because the new check_release_versions.sh script currently only updates the __init__.py file for Python packages. This will lead to out-of-sync versions between the package metadata and the source code.

scripts/check_release_versions.sh (83)

high

The Python package registry only tracks a single version_file. For packages like smg-grpc-proto, the pyproject.toml version also needs to be updated to maintain consistency. Consider expanding the registry format or the set_python_version logic to handle both files.

scripts/check_release_versions.sh (232)

medium

Similar to the crate version extraction, this regex is greedy and will return incorrect results if the Python file contains comments with quotes on the same line as __version__.

    grep '__version__' "$file" | sed 's/.*__version__ = "\([^"]*\)".*/\1/'

scripts/check_release_versions.sh (248)

medium

This sed command is destructive as it replaces everything after __version__ = " until the last quote on the line, potentially stripping comments or other metadata. It should be restricted to the content within the first pair of quotes.

    sed_inplace "s/\(__version__ = \)\"[^"]*\"/\1\"${new_version}\"/" "$file"

Version bumps across all workspace crates and Python packages:
- smg (model_gateway): 1.0.1 → 1.1.0
- openai-protocol (protocols): 1.1.0 → 1.2.0
- reasoning-parser: already at 1.2.0
- tool-parser: 1.1.0 → 1.1.1
- wfaas (workflow): 1.0.1 → 1.0.2
- llm-tokenizer: 1.1.0 → 1.2.0
- smg-auth: 1.1.0 → 1.1.1
- smg-mcp: 2.0.0 → 2.1.0
- kv-index: 1.0.0 → 1.0.1
- llm-multimodal: 1.1.0 → 1.2.0
- smg-wasm: 1.0.0 → 1.0.1
- smg-mesh: 1.1.0 → 1.1.1
- smg-grpc-client: 1.1.0 → 1.2.0
- smg-grpc-proto (Python): 0.3.3 → 0.4.0
- smg-golang (bindings): 0.4.0 → 1.1.0
- smg-python (bindings): 1.0.1 → 1.1.0

Tooling improvements:
- Makefile: remove grpc_client/python from bump-version targets since
  it is versioned independently via check_release_versions.sh
- check_release_versions.sh: add Python package support so the script
  can detect unbumped Python packages and auto-fix them alongside
  Rust crates. Adds PYTHON_PACKAGES registry, get/set helpers for
  __version__, and wires Python packages into all three phases
  (check, propose, apply).

Workspace root Cargo.toml dependency versions synced to match crate bumps.

Signed-off-by: Simo Lin <linsimo.mark@gmail.com>
@mergify mergify Bot removed the needs-rebase PR has merge conflicts that need to be resolved label Feb 23, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: af002539a4

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread scripts/check_release_versions.sh

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@scripts/check_release_versions.sh`:
- Around line 343-348: The exclusion currently uses basename "$version_file"
which yields "__init__.py" and accidentally excludes all files with that name;
update the diff filtering so it matches the repo-relative path in version_file
instead of its basename: when computing diff_count (the git diff command that
populates diff_count), remove the grep -v "$(basename "$version_file")$" and
replace it with a pattern that uses "$version_file" (or an anchored grep -v
"^${version_file}$") so only that specific file is excluded; ensure the git diff
path argument still uses "$path/" and preserve the || true fallback.
- Around line 229-242: In get_python_version and get_python_version_at_ref, grep
may return multiple matches (from comments/docstrings); update both functions
(get_python_version and get_python_version_at_ref) to use grep -m1 so only the
first __version__ match is returned (matching the behavior of get_crate_version)
and ensure the rest of the pipeline (sed) still processes that single line.

@slin1237
slin1237 merged commit b6f9bb5 into main Feb 23, 2026
42 of 46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auth Authentication crate changes dependencies Dependency updates grpc gRPC client and router changes mcp MCP related changes model-gateway Model gateway crate changes multimodal Multimodal crate changes protocols Protocols crate changes python-bindings Python bindings changes tokenizer Tokenizer related changes tool-parser Tool/function call parser changes wasm WebAssembly related changes workflow Workflow crate changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant