Skip to content

Sync CLI version reporting with package release#6857

Open
skeehn wants to merge 2 commits intochroma-core:mainfrom
skeehn:codex/chroma-cli-version-sync
Open

Sync CLI version reporting with package release#6857
skeehn wants to merge 2 commits intochroma-core:mainfrom
skeehn:codex/chroma-cli-version-sync

Conversation

@skeehn
Copy link
Copy Markdown

@skeehn skeehn commented Apr 9, 2026

Problem

The Rust CLI had drifted from the Python package release version. chromadb/__init__.py reports 1.5.7, but the CLI crate and clap metadata still reported 1.4.3.

That means chroma --version can misreport the release version, which is confusing for users, support, and release verification.

Fix

  • bump rust/cli/Cargo.toml to 1.5.7
  • change the clap annotation in rust/cli/src/lib.rs to use the crate version instead of a hardcoded string
  • update RELEASE_PROCESS.md so releases bump both the Python package version and the CLI crate version
  • refresh Cargo.lock so the chroma-cli package entry matches the crate version

Why this is safe

This PR only changes version/reporting and release documentation. It does not change DB, query, persistence, or storage behavior.

Verification

  • rebuilt the local runtime artifacts from source and verified PYTHONPATH=$PWD ./.venv/bin/chroma --version prints chroma 1.5.7
  • PYTHONPATH=$PWD ./.venv/bin/pytest chromadb/test/test_client.py::test_ephemeral_client chromadb/test/test_client.py::test_persistent_client_context_manager chromadb/test/test_cli.py::test_app -q -> 3 passed in 7.35s
  • PYTHONPATH=$PWD ./.venv/bin/pytest chromadb/test/test_client.py::test_persistent_client chromadb/test/test_client.py::test_persistent_client_close chromadb/test/test_client.py::test_persistent_client_context_manager chromadb/test/test_client.py::test_ephemeral_client_close chromadb/test/test_client.py::test_ephemeral_client_context_manager -q -> 5 passed in 0.97s
  • manual embedded PersistentClient run with deterministic embeddings: create/add/query/count passed and persisted data survived reopen
  • manual chroma run --host 127.0.0.1 --path /tmp/chroma-manual-http --port 8013 + HttpClient run: heartbeat, create, add, query, and count passed
  • manual HTTP persistence restart check passed: after restarting the server, the collection still returned count 3 and the same nearest neighbors
  • cargo check -p chroma-cli passed on the pinned Rust 1.92.0 toolchain in 1m 46s

Notes

I also tried a broader chromadb/test/test_api.py slice, but that local invocation failed in fixture setup (fastapi, sqlite_fixture, etc. missing), which appears to be a harness-selection issue rather than a regression from this change.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

Reviewer Checklist

Please leverage this checklist to ensure your code review is thorough before approving

Testing, Bugs, Errors, Logs, Documentation

  • Can you think of any use case in which the code does not behave as intended? Have they been tested?
  • Can you think of any inputs or external events that could break the code? Is user input validated and safe? Have they been tested?
  • If appropriate, are there adequate property based tests?
  • If appropriate, are there adequate unit tests?
  • Should any logging, debugging, tracing information be added or removed?
  • Are error messages user-friendly?
  • Have all documentation changes needed been made?
  • Have all non-obvious changes been commented?

System Compatibility

  • Are there any potential impacts on other parts of the system or backward compatibility?
  • Does this change intersect with any items on our roadmap, and if so, is there a plan for fitting them together?

Quality

  • Is this code of a unexpectedly high quality (Readability, Modularity, Intuitiveness)

Copy link
Copy Markdown
Contributor

@propel-code-bot propel-code-bot bot left a comment

Choose a reason for hiding this comment

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

Review found no issues; version alignment and release-process updates appear correct and low risk.

Status: No Issues Found | Risk: Low

Review Details

📁 4 files reviewed | 💬 0 comments

@skeehn skeehn marked this pull request as ready for review April 9, 2026 17:54
@propel-code-bot
Copy link
Copy Markdown
Contributor

propel-code-bot bot commented Apr 9, 2026

Align chroma-cli version output with package release version

This PR fixes CLI version drift by updating rust/cli/Cargo.toml from 1.4.3 to 1.5.7 and switching clap metadata in rust/cli/src/lib.rs from a hardcoded #[command(version = "1.4.3")] to #[command(version)]. This ensures chroma --version reflects the crate/package version automatically going forward.

It also updates RELEASE_PROCESS.md to require bumping both chromadb/__init__.py and rust/cli/Cargo.toml during releases, and refreshes Cargo.lock so the chroma-cli lock entry matches the crate version. Changes are scoped to version/reporting and release process documentation.

This summary was automatically generated by @propel-code-bot

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