Skip to content

Report an accurate version from main builds - #1222

Closed
michaelneale wants to merge 1 commit into
mainfrom
chore/bump-main-version-0.76.0-dev
Closed

Report an accurate version from main builds#1222
michaelneale wants to merge 1 commit into
mainfrom
chore/bump-main-version-0.76.0-dev

Conversation

@michaelneale

@michaelneale michaelneale commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

What this changes for you

Binaries built from main now report 0.76.0-dev instead of 0.72.1.

Before this, a fresh just build from main reported 0.72.1 — three releases behind the published v0.75.1. That directly undermined the deploy checklist in AGENTS.md, which tells you to verify mesh-llm --version on every node to confirm a binary is new code. A dev build claiming 0.72.1 was indistinguishable from a genuinely stale one.

The -dev suffix also makes a dev build self-identifying: if you see 0.76.0-dev on a node, you know it is not a release binary.

Config settings that offer a mesh-llm version now list the versions that actually shipped — 0.75.1, 0.75.0, 0.74.0, and 0.73.0 were all missing from known_mesh_llm_versions(), so recent releases could not be selected.

Why main drifted

The Release workflow runs scripts/release-version.sh on a throwaway "prepare release source" commit, tags it, and pushes only the tag — never the version bump back to main. Every release tag carries the correct version (verified: v0.73.00.73.0, v0.74.00.74.0, v0.75.00.75.0), so published artifacts were always right, which is why this went unnoticed. Main's version was last touched by hand in 7a809522 (2026-06-30) — the commit that moved bumping into the workflow.

This PR is the manual catch-up. Automating a post-release bump-back is a separate change.

Notes for review

Generated with scripts/release-version.sh 0.76.0-dev, then two hand corrections where the script's literal string replacement produced values that would be wrong:

  • known_mesh_llm_versions() is a list of released versions used as a config validation enum. The script prepended 0.76.0-dev; replaced with the four real releases that were missing.
  • User-facing SDK/docs examples (mesh-llm-sdk = "...", release download URLs, SwiftPM from:) were rewritten to 0.76.0-dev, which will never exist on crates.io or as a release URL. Pointed at 0.75.1 instead.

sdk/kotlin/build.gradle.kts, the Kotlin JVM example, and generate-swift-bindings.sh intentionally keep 0.76.0-dev — those are the projects' own version declarations and should track the workspace dev version.

Validation

cargo fmt --all --check                                        # clean
cargo check -p mesh-llm-config                                 # ok
cargo clippy -p mesh-llm-config --all-targets -- -D warnings   # clean
cargo test -p mesh-llm-config --lib                            # 122 passed
cargo run -p xtask -- repo-consistency publish-crates          # passed

Summary by CodeRabbit

  • Release Updates

    • Updated the development release version to 0.76.0-dev across the product and SDK packages.
    • Added support for recognizing Mesh LLM releases 0.75.0 and 0.75.1.
    • Updated compatibility metadata to support runtime version 0.75.1.
  • Documentation

    • Updated installation, configuration, runtime, SDK, and CLI examples to reference release 0.75.1.
    • Refreshed package and example version references across supported SDKs.

Main's workspace version had been left at 0.72.1 since the release
process moved version bumping into the Release workflow, so local
builds from main reported a version three releases behind.

- bump workspace/SDK/manifest versions to 0.76.0-dev via
  scripts/release-version.sh
- record the actually-released 0.73.0, 0.74.0, 0.75.0 and 0.75.1 in
  known_mesh_llm_versions() instead of the dev version
- keep user-facing SDK/docs examples pointing at the released 0.75.1
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The PR updates workspace and local dependency versions to 0.76.0-dev. It updates release metadata, package versions, SDK examples, runtime references, and CLI documentation to 0.75.1.

Changes

Release Version Alignment

Layer / File(s) Summary
Workspace dependency constraints
Cargo.toml, crates/*/Cargo.toml
Local workspace dependencies now require 0.76.0-dev. Paths, features, and optional settings remain unchanged.
Release metadata and package identities
crates/mesh-llm-config/**, crates/mesh-llm-native-runtime/README.md, crates/mesh-llm-ui/package.json, sdk/*/
Built-in release data and runtime examples use 0.75.1. Package and project versions use 0.76.0-dev.
SDK and documentation references
crates/mesh-llm-sdk/README.md, docs/**, sdk/*/README.md, website/src/docs/pages/CLI.md
SDK, runtime, Swift, Kotlin, and CLI examples now reference 0.75.1.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: ndizazzo, i386

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: correcting the version reported by builds from the main branch.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/bump-main-version-0.76.0-dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@website/src/docs/pages/CLI.md`:
- Line 34: Update the local source-build example in CLI.md to use mesh-llm
0.76.0-dev+gABCDEF.dirty, while preserving the 0.75.1 value on Line 33 for the
released-version example.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3d60a38b-8849-477d-ae00-94007a442653

📥 Commits

Reviewing files that changed from the base of the PR and between 1a2fef9 and 64b9e8e.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • crates/mesh-llm-ui/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (45)
  • Cargo.toml
  • crates/mesh-client/Cargo.toml
  • crates/mesh-llm-api-client/Cargo.toml
  • crates/mesh-llm-api-server/Cargo.toml
  • crates/mesh-llm-cli/Cargo.toml
  • crates/mesh-llm-commands/Cargo.toml
  • crates/mesh-llm-config/Cargo.toml
  • crates/mesh-llm-config/src/model/built_in_schema.rs
  • crates/mesh-llm-config/src/model/built_in_schema/presentation.rs
  • crates/mesh-llm-console-server/Cargo.toml
  • crates/mesh-llm-embedded-runtime/Cargo.toml
  • crates/mesh-llm-hardware-profile/Cargo.toml
  • crates/mesh-llm-host-runtime/Cargo.toml
  • crates/mesh-llm-native-runtime/README.md
  • crates/mesh-llm-node/Cargo.toml
  • crates/mesh-llm-nodejs/Cargo.toml
  • crates/mesh-llm-runtime-install/Cargo.toml
  • crates/mesh-llm-sdk/Cargo.toml
  • crates/mesh-llm-sdk/README.md
  • crates/mesh-llm-system/Cargo.toml
  • crates/mesh-llm-tui/Cargo.toml
  • crates/mesh-llm-ui/package.json
  • crates/mesh-llm/Cargo.toml
  • crates/mesh-mixture-of-agents/Cargo.toml
  • crates/mesh-native-serving-plugin-host/Cargo.toml
  • crates/model-artifact/Cargo.toml
  • crates/model-hf/Cargo.toml
  • crates/model-package/Cargo.toml
  • crates/model-resolver/Cargo.toml
  • crates/openai-frontend/Cargo.toml
  • crates/skippy-cache/Cargo.toml
  • crates/skippy-protocol/Cargo.toml
  • crates/skippy-runtime/Cargo.toml
  • crates/skippy-server/Cargo.toml
  • docs/SDK.md
  • docs/design/NATIVE_RUNTIMES.md
  • docs/sdk/rust.md
  • docs/sdk/swift.md
  • sdk/kotlin/README.md
  • sdk/kotlin/build.gradle.kts
  • sdk/kotlin/example/example-jvm/build.gradle.kts
  • sdk/node/package.json
  • sdk/swift/README.md
  • sdk/swift/scripts/generate-swift-bindings.sh
  • website/src/docs/pages/CLI.md

Release builds report the released package version, such as `mesh-llm 0.72.1`.
Local source builds may include build metadata, such as `mesh-llm 0.72.1+gABCDEF.dirty`, so you can tell exactly which commit produced the binary. Compatibility checks, native-runtime cache paths, and release identity still use the plain release version.
Release builds report the released package version, such as `mesh-llm 0.75.1`.
Local source builds may include build metadata, such as `mesh-llm 0.75.1+gABCDEF.dirty`, so you can tell exactly which commit produced the binary. Compatibility checks, native-runtime cache paths, and release identity still use the plain release version.

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.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use the development version for the local source-build example.

0.75.1 is the released package version. A build from main should identify itself as 0.76.0-dev. Change the example to mesh-llm 0.76.0-dev+gABCDEF.dirty. Keep Line 33 at 0.75.1.

Proposed documentation fix
-Local source builds may include build metadata, such as `mesh-llm 0.75.1+gABCDEF.dirty`, so you can tell exactly which commit produced the binary.
+Local source builds may include build metadata, such as `mesh-llm 0.76.0-dev+gABCDEF.dirty`, so you can tell exactly which commit produced the binary.

As per the PR objective, binaries built from main must identify themselves as development builds, while released documentation examples use 0.75.1.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Local source builds may include build metadata, such as `mesh-llm 0.75.1+gABCDEF.dirty`, so you can tell exactly which commit produced the binary. Compatibility checks, native-runtime cache paths, and release identity still use the plain release version.
Local source builds may include build metadata, such as `mesh-llm 0.76.0-dev+gABCDEF.dirty`, so you can tell exactly which commit produced the binary. Compatibility checks, native-runtime cache paths, and release identity still use the plain release version.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@website/src/docs/pages/CLI.md` at line 34, Update the local source-build
example in CLI.md to use mesh-llm 0.76.0-dev+gABCDEF.dirty, while preserving the
0.75.1 value on Line 33 for the released-version example.

@michaelneale

Copy link
Copy Markdown
Collaborator Author

Closing — wrong shape. This fixes the symptom (main's stale version) by hand-correcting generated output, and defers the actual cause (nothing keeps main's version honest, and release-version.sh rewrites user-facing docs to a dev version that will never exist).

Replacing with targeted changes: crates.io publish-map validation first (it has a live consequence — 0.75.1 published no crates), then a structural fix for the version drift.

@michaelneale
michaelneale deleted the chore/bump-main-version-0.76.0-dev branch August 10, 2026 05:02
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