From 8c2e5b06bf1133725b2c24b32af7a56c53495c45 Mon Sep 17 00:00:00 2001 From: Simo Lin <25425177+slin1237@users.noreply.github.com> Date: Thu, 8 Oct 2026 07:08:35 -0700 Subject: [PATCH] chore(release): bump versions for v1.12.0 139 commits have landed since v1.11.0. Apply the release checker's bumps against v1.11.0 with VERSION_OVERRIDE=1.12.0, refresh the workspace pins and Cargo.lock, add engine-zmq-adapter and engine-servicer to the crates.io publish tiers (smg depends on both), and bump smg-grpc-servicer to 0.13.3 so PyPI picks up #2878 and #2879. Signed-off-by: Simo Lin <25425177+slin1237@users.noreply.github.com> --- .github/workflows/release-crates.yml | 26 ++++++++++++++++--- .github/workflows/release-sglang-docker.yml | 8 +++--- .../workflows/release-tokenspeed-docker.yml | 6 ++--- .github/workflows/release-trtllm-docker.yml | 8 +++--- .github/workflows/release-vllm-docker.yml | 8 +++--- Cargo.lock | 24 ++++++++--------- Cargo.toml | 18 ++++++------- bindings/golang/Cargo.toml | 2 +- bindings/python/Cargo.toml | 2 +- bindings/python/pyproject.toml | 2 +- crates/engine_zmq_client/Cargo.toml | 2 +- crates/external_router/Cargo.toml | 2 +- crates/grpc_client/Cargo.toml | 2 +- crates/kv_index/Cargo.toml | 2 +- crates/multimodal/Cargo.toml | 2 +- crates/protocols/Cargo.toml | 2 +- crates/reasoning_parser/Cargo.toml | 2 +- crates/tokenizer/Cargo.toml | 2 +- crates/tool_parser/Cargo.toml | 2 +- deploy/helm/smg/Chart.yaml | 4 +-- grpc_servicer/pyproject.toml | 2 +- model_gateway/Cargo.toml | 2 +- 22 files changed, 75 insertions(+), 55 deletions(-) diff --git a/.github/workflows/release-crates.yml b/.github/workflows/release-crates.yml index 4337af94bf..55560afd5b 100644 --- a/.github/workflows/release-crates.yml +++ b/.github/workflows/release-crates.yml @@ -87,18 +87,38 @@ jobs: tier3: needs: tier2 runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - crate: llm-multimodal + path: crates/multimodal + - crate: engine-zmq-adapter + path: crates/engine_zmq_adapter steps: - uses: actions/checkout@v7 - uses: ./.github/actions/publish-crate with: - crate: llm-multimodal - path: crates/multimodal + crate: ${{ matrix.crate }} + path: ${{ matrix.path }} token: ${{ secrets.CARGO_REGISTRY_TOKEN }} - # Tier 4: Main crate depending on all others + # Tier 4: Crates depending on tier 3 tier4: needs: tier3 runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - uses: ./.github/actions/publish-crate + with: + crate: engine-servicer + path: crates/engine_servicer + token: ${{ secrets.CARGO_REGISTRY_TOKEN }} + + # Tier 5: Main crate depending on all others + tier5: + needs: tier4 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - uses: ./.github/actions/publish-crate diff --git a/.github/workflows/release-sglang-docker.yml b/.github/workflows/release-sglang-docker.yml index 97a07725d7..a1075a626d 100644 --- a/.github/workflows/release-sglang-docker.yml +++ b/.github/workflows/release-sglang-docker.yml @@ -4,7 +4,7 @@ run-name: >- SMG+SGLang | ${{ github.event_name == 'push' && 'base=lmsysorg/sglang:v0.5.21' || format('base={0}', inputs.base_image_ref || 'lmsysorg/sglang:v0.5.21') }} | engine=${{ inputs.sglang_commit || 'latest' }} | - smg=${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.11.0' }} | + smg=${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.12.0' }} | ${{ github.event_name == 'pull_request' && 'dry-run |' || '' }} by @${{ github.actor }} @@ -44,10 +44,10 @@ on: smg_commit: description: 'SMG commit/ref ("latest" for HEAD)' required: false - default: 'v1.11.0' + default: 'v1.12.0' type: string tag: - description: 'Override image tag (e.g. v1.11.0-sglang-v0.5.21)' + description: 'Override image tag (e.g. v1.12.0-sglang-v0.5.21)' required: false type: string @@ -68,7 +68,7 @@ jobs: engine_repo: ${{ inputs.sglang_repo }} engine_commit: ${{ inputs.sglang_commit || 'latest' }} smg_repo: ${{ inputs.smg_repo || 'https://github.com/smg-project/smg' }} - smg_commit: ${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.11.0' }} + smg_commit: ${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.12.0' }} tag: ${{ inputs.tag }} dry_run: ${{ github.event_name == 'pull_request' }} secrets: inherit diff --git a/.github/workflows/release-tokenspeed-docker.yml b/.github/workflows/release-tokenspeed-docker.yml index 728bcd009f..afa197f0e8 100644 --- a/.github/workflows/release-tokenspeed-docker.yml +++ b/.github/workflows/release-tokenspeed-docker.yml @@ -4,7 +4,7 @@ run-name: >- SMG+TokenSpeed | base=${{ inputs.base_image_ref || 'latest nightly carrier' }} | engine=${{ inputs.tokenspeed_commit || 'latest' }} | - smg=${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.11.0' }} | + smg=${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.12.0' }} | ${{ github.event_name == 'pull_request' && 'dry-run |' || '' }} by @${{ github.actor }} @@ -43,7 +43,7 @@ on: smg_commit: description: 'SMG commit/ref ("latest" for HEAD)' required: false - default: 'v1.11.0' + default: 'v1.12.0' type: string tag: description: 'Override image tag (default includes the SMG and TokenSpeed nightly versions)' @@ -63,7 +63,7 @@ jobs: engine_repo: ${{ inputs.tokenspeed_repo }} engine_commit: ${{ inputs.tokenspeed_commit || 'latest' }} smg_repo: ${{ inputs.smg_repo || 'https://github.com/smg-project/smg' }} - smg_commit: ${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.11.0' }} + smg_commit: ${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.12.0' }} tag: ${{ inputs.tag }} dry_run: ${{ github.event_name == 'pull_request' }} secrets: inherit diff --git a/.github/workflows/release-trtllm-docker.yml b/.github/workflows/release-trtllm-docker.yml index 56bc0efadf..07d7dde9eb 100644 --- a/.github/workflows/release-trtllm-docker.yml +++ b/.github/workflows/release-trtllm-docker.yml @@ -4,7 +4,7 @@ run-name: >- SMG+TRTLLM | ${{ github.event_name == 'push' && '3-version matrix' || format('base={0}', inputs.base_image_ref || 'nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc24') }} | engine=${{ inputs.trtllm_commit || 'latest' }} | - smg=${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.11.0' }} | + smg=${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.12.0' }} | ${{ github.event_name == 'pull_request' && 'dry-run |' || '' }} by @${{ github.actor }} @@ -44,10 +44,10 @@ on: smg_commit: description: 'SMG commit/ref ("latest" for HEAD)' required: false - default: 'v1.11.0' + default: 'v1.12.0' type: string tag: - description: 'Override image tag (e.g. v1.11.0-trtllm-1.3.0)' + description: 'Override image tag (e.g. v1.12.0-trtllm-1.3.0)' required: false type: string @@ -68,7 +68,7 @@ jobs: engine_repo: ${{ inputs.trtllm_repo }} engine_commit: ${{ inputs.trtllm_commit || 'latest' }} smg_repo: ${{ inputs.smg_repo || 'https://github.com/smg-project/smg' }} - smg_commit: ${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.11.0' }} + smg_commit: ${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.12.0' }} tag: ${{ inputs.tag }} source_build_repo: ${{ inputs.trtllm_repo }} source_build_ref: ${{ inputs.trtllm_commit || 'latest' }} diff --git a/.github/workflows/release-vllm-docker.yml b/.github/workflows/release-vllm-docker.yml index 1dc2782eaa..8722278209 100644 --- a/.github/workflows/release-vllm-docker.yml +++ b/.github/workflows/release-vllm-docker.yml @@ -4,7 +4,7 @@ run-name: >- SMG+vLLM | ${{ github.event_name == 'push' && '3-version matrix' || format('base={0}', inputs.base_image_ref || 'vllm/vllm-openai:v0.27.1') }} | engine=${{ inputs.vllm_commit || 'latest' }} | - smg=${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.11.0' }} | + smg=${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.12.0' }} | ${{ github.event_name == 'pull_request' && 'dry-run |' || '' }} by @${{ github.actor }} @@ -44,10 +44,10 @@ on: smg_commit: description: 'SMG commit/ref ("latest" for HEAD)' required: false - default: 'v1.11.0' + default: 'v1.12.0' type: string tag: - description: 'Override image tag (e.g. v1.11.0-vllm-v0.26.0)' + description: 'Override image tag (e.g. v1.12.0-vllm-v0.26.0)' required: false type: string @@ -68,7 +68,7 @@ jobs: engine_repo: ${{ inputs.vllm_repo }} engine_commit: ${{ inputs.vllm_commit || 'latest' }} smg_repo: ${{ inputs.smg_repo || 'https://github.com/smg-project/smg' }} - smg_commit: ${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.11.0' }} + smg_commit: ${{ github.event_name == 'pull_request' && 'main' || inputs.smg_commit || 'v1.12.0' }} tag: ${{ inputs.tag }} dry_run: ${{ github.event_name == 'pull_request' }} secrets: inherit diff --git a/Cargo.lock b/Cargo.lock index cef1e055e2..3b167a2127 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2266,7 +2266,7 @@ dependencies = [ [[package]] name = "engine-zmq-client" -version = "0.2.0" +version = "0.3.0" dependencies = [ "bytemuck", "byteorder", @@ -3824,7 +3824,7 @@ dependencies = [ [[package]] name = "kv-index" -version = "1.5.0" +version = "1.6.0" dependencies = [ "anyhow", "bincode", @@ -3967,7 +3967,7 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "llm-multimodal" -version = "1.12.0" +version = "1.13.0" dependencies = [ "anyhow", "base64 0.23.1", @@ -4003,7 +4003,7 @@ dependencies = [ [[package]] name = "llm-tokenizer" -version = "1.8.0" +version = "1.9.0" dependencies = [ "aho-corasick", "anyhow", @@ -4994,7 +4994,7 @@ dependencies = [ [[package]] name = "openai-protocol" -version = "1.14.0" +version = "1.15.0" dependencies = [ "axum", "bitflags 2.13.2", @@ -6399,7 +6399,7 @@ dependencies = [ [[package]] name = "reasoning-parser" -version = "1.8.0" +version = "1.9.0" dependencies = [ "parking_lot", "regex", @@ -7545,7 +7545,7 @@ dependencies = [ [[package]] name = "smg" -version = "1.11.0" +version = "1.12.0" dependencies = [ "anyhow", "arc-swap", @@ -7701,7 +7701,7 @@ dependencies = [ [[package]] name = "smg-external-router" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "async-trait", @@ -7741,7 +7741,7 @@ dependencies = [ [[package]] name = "smg-golang" -version = "1.11.0" +version = "1.12.0" dependencies = [ "async-trait", "futures-util", @@ -7763,7 +7763,7 @@ dependencies = [ [[package]] name = "smg-grpc-client" -version = "1.13.0" +version = "1.14.0" dependencies = [ "futures", "h2", @@ -7867,7 +7867,7 @@ dependencies = [ [[package]] name = "smg-python" -version = "1.11.0" +version = "1.12.0" dependencies = [ "bytes", "engine-servicer", @@ -8909,7 +8909,7 @@ dependencies = [ [[package]] name = "tool-parser" -version = "1.8.0" +version = "1.9.0" dependencies = [ "async-trait", "num-traits", diff --git a/Cargo.toml b/Cargo.toml index c9a4a6936e..c53c6c09d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,23 +5,23 @@ resolver = "2" [workspace.dependencies] # Internal workspace crates -openai-protocol = { version = "1.14.0", path = "crates/protocols" } +openai-protocol = { version = "1.15.0", path = "crates/protocols" } smg-mm-rdma = { version = "0.1.1", path = "crates/mm_rdma" } -reasoning-parser = { version = "1.8.0", path = "crates/reasoning_parser" } -tool-parser = { version = "1.8.0", path = "crates/tool_parser" } +reasoning-parser = { version = "1.9.0", path = "crates/reasoning_parser" } +tool-parser = { version = "1.9.0", path = "crates/tool_parser" } wfaas = { version = "1.1.0", path = "crates/workflow" } -llm-tokenizer = { version = "1.8.0", path = "crates/tokenizer" } +llm-tokenizer = { version = "1.9.0", path = "crates/tokenizer" } smg-auth = { version = "1.2.3", path = "crates/auth" } smg-mcp = { version = "2.3.4", path = "crates/mcp" } -smg-external-router = { version = "0.1.0", path = "crates/external_router" } -kv-index = { version = "1.5.0", path = "crates/kv_index" } +smg-external-router = { version = "0.2.0", path = "crates/external_router" } +kv-index = { version = "1.6.0", path = "crates/kv_index" } smg-radix-tree = { version = "0.1.0", path = "crates/radix_tree" } smg-data-connector = { version = "2.3.4", path = "crates/data_connector", package = "data-connector" } -llm-multimodal = { version = "1.12.0", path = "crates/multimodal" } +llm-multimodal = { version = "1.13.0", path = "crates/multimodal" } smg-wasm = { version = "1.1.4", path = "crates/wasm", package = "smg-wasm" } smg-mesh = { version = "1.4.3", path = "crates/mesh", package = "smg-mesh" } -smg-grpc-client = { version = "1.13.0", path = "crates/grpc_client" } -engine-zmq-client = { version = "0.2.0", path = "crates/engine_zmq_client" } +smg-grpc-client = { version = "1.14.0", path = "crates/grpc_client" } +engine-zmq-client = { version = "0.3.0", path = "crates/engine_zmq_client" } engine-zmq-adapter = { version = "0.1.0", path = "crates/engine_zmq_adapter" } engine-servicer = { version = "0.1.0", path = "crates/engine_servicer" } smg-rl = { version = "0.1.0", path = "crates/rl" } diff --git a/bindings/golang/Cargo.toml b/bindings/golang/Cargo.toml index e0c252dc84..adc69db02a 100644 --- a/bindings/golang/Cargo.toml +++ b/bindings/golang/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "smg-golang" -version = "1.11.0" +version = "1.12.0" edition = "2021" [lib] diff --git a/bindings/python/Cargo.toml b/bindings/python/Cargo.toml index 8a6e17088f..83ee4936fa 100644 --- a/bindings/python/Cargo.toml +++ b/bindings/python/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "smg-python" -version = "1.11.0" +version = "1.12.0" edition = "2021" [lib] diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml index c1898b8b74..50257a5003 100644 --- a/bindings/python/pyproject.toml +++ b/bindings/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "smg" -version = "1.11.0" +version = "1.12.0" description = "High-performance Rust-based inference gateway for large-scale LLM deployments" authors = [ {name = "Simo Lin", email = "linsimo.mark@gmail.com"}, diff --git a/crates/engine_zmq_client/Cargo.toml b/crates/engine_zmq_client/Cargo.toml index 72ddc2e93b..65673051d2 100644 --- a/crates/engine_zmq_client/Cargo.toml +++ b/crates/engine_zmq_client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "engine-zmq-client" -version = "0.2.0" +version = "0.3.0" edition = "2021" description = "Engine-agnostic ZMQ transport + per-engine protocol modules for same-host SMG backend connections" license = "Apache-2.0" diff --git a/crates/external_router/Cargo.toml b/crates/external_router/Cargo.toml index cad511ea4b..d741867fab 100644 --- a/crates/external_router/Cargo.toml +++ b/crates/external_router/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "smg-external-router" -version = "0.1.0" +version = "0.2.0" edition = "2021" description = "Routers for third-party providers behind the SMG gateway, and the contract they are built on" license = "Apache-2.0" diff --git a/crates/grpc_client/Cargo.toml b/crates/grpc_client/Cargo.toml index 671e5fe1bc..ca895eeb6f 100644 --- a/crates/grpc_client/Cargo.toml +++ b/crates/grpc_client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "smg-grpc-client" -version = "1.13.0" +version = "1.14.0" edition = "2021" description = "gRPC clients for vLLM, TensorRT-LLM, MLX, TokenSpeed, and SGLang backends" license = "Apache-2.0" diff --git a/crates/kv_index/Cargo.toml b/crates/kv_index/Cargo.toml index 6aff1db947..79898d6fdd 100644 --- a/crates/kv_index/Cargo.toml +++ b/crates/kv_index/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "kv-index" -version = "1.5.0" +version = "1.6.0" edition = "2021" description = "Radix tree implementations for prefix matching and cache-aware routing" license = "Apache-2.0" diff --git a/crates/multimodal/Cargo.toml b/crates/multimodal/Cargo.toml index 33c04d10b8..331fff2f0e 100644 --- a/crates/multimodal/Cargo.toml +++ b/crates/multimodal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "llm-multimodal" -version = "1.12.0" +version = "1.13.0" edition = "2021" description = "Multimodal processing for vision and other modalities" license = "Apache-2.0" diff --git a/crates/protocols/Cargo.toml b/crates/protocols/Cargo.toml index cb99ed5aff..ea03dbc623 100644 --- a/crates/protocols/Cargo.toml +++ b/crates/protocols/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "openai-protocol" -version = "1.14.0" +version = "1.15.0" edition = "2021" description = "OpenAI-compatible API protocol definitions and types" license = "Apache-2.0" diff --git a/crates/reasoning_parser/Cargo.toml b/crates/reasoning_parser/Cargo.toml index cec0b12134..cdef0e39f9 100644 --- a/crates/reasoning_parser/Cargo.toml +++ b/crates/reasoning_parser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "reasoning-parser" -version = "1.8.0" +version = "1.9.0" edition = "2021" description = "Parser for AI model reasoning/thinking outputs (chain-of-thought, etc.)" license = "Apache-2.0" diff --git a/crates/tokenizer/Cargo.toml b/crates/tokenizer/Cargo.toml index 978cab9741..f6da03b766 100644 --- a/crates/tokenizer/Cargo.toml +++ b/crates/tokenizer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "llm-tokenizer" -version = "1.8.0" +version = "1.9.0" edition = "2021" description = "LLM tokenizer library with caching and chat template support" license = "Apache-2.0" diff --git a/crates/tool_parser/Cargo.toml b/crates/tool_parser/Cargo.toml index 020a7d749d..09d9ab8765 100644 --- a/crates/tool_parser/Cargo.toml +++ b/crates/tool_parser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tool-parser" -version = "1.8.0" +version = "1.9.0" edition = "2021" description = "Tool/function call parser for LLM model outputs" license = "Apache-2.0" diff --git a/deploy/helm/smg/Chart.yaml b/deploy/helm/smg/Chart.yaml index e38e60d93f..fa78cba7a4 100644 --- a/deploy/helm/smg/Chart.yaml +++ b/deploy/helm/smg/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: smg description: "Shepherd Model Gateway - high-performance inference router for LLM deployments" type: application -version: 1.11.0 -appVersion: "1.11.0" +version: 1.12.0 +appVersion: "1.12.0" kubeVersion: ">=1.26.0-0" home: https://github.com/smg-project/smg sources: diff --git a/grpc_servicer/pyproject.toml b/grpc_servicer/pyproject.toml index 5a47e08a03..d5452baab5 100644 --- a/grpc_servicer/pyproject.toml +++ b/grpc_servicer/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "smg-grpc-servicer" -version = "0.13.2" +version = "0.13.3" description = "SMG gRPC servicer implementations for LLM inference engines (vLLM, MLX, TokenSpeed, SGLang)" requires-python = ">=3.10" dependencies = [ diff --git a/model_gateway/Cargo.toml b/model_gateway/Cargo.toml index 7c835dad0c..72604306c9 100644 --- a/model_gateway/Cargo.toml +++ b/model_gateway/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "smg" -version = "1.11.0" +version = "1.12.0" edition = "2021" description = "High-performance model-routing gateway for large-scale LLM deployments" license = "Apache-2.0"