Skip to content

Releases: Sephyi/commitbee

v0.4.0 — See Everything

13 Mar 09:51
v0.4.0
93b9085

Choose a tag to compare

Stage your changes and run. CommitBee handles the rest — no configuration needed.

Defaults to Ollama with qwen3.5:4b out of the box.

What's New

  • 10-language tree-sitter support — Added Java, C, C++, Ruby, and C# to the existing Rust, TypeScript, JavaScript, Python, and Go. All languages individually feature-gated and enabled by default.
  • Custom prompt templates — User-defined templates with {{diff}}, {{symbols}}, {{files}}, {{type}}, {{scope}} variables via template_path config.
  • Multi-language commit messages — Generate messages in any language with --locale flag or locale config (e.g., --locale de for German).
  • Commit history style learning — Learns from recent commit history to match your project's style (learn_from_history, history_sample_size config).
  • Rename detection — Detects file renames with similarity percentage via git diff --find-renames. Configurable threshold (default 70%, set to 0 to disable).
  • Expanded secret scanning — 25 built-in patterns across 13 categories. Add custom regex patterns or disable built-ins by name via config.
  • Progress indicators — Contextual spinners during pipeline phases. Auto-suppressed in non-TTY environments.
  • Exclude files--exclude <GLOB> flag (repeatable) and exclude_patterns config. Glob patterns filter files from analysis.
  • Copy to clipboard--clipboard flag copies the generated message to the system clipboard, skipping commit confirmation.
  • Evaluation harnesscargo test --features eval for structured LLM output quality benchmarking.
  • Fuzz testingcargo-fuzz targets for sanitizer and diff parser robustness.
  • 308 tests — Up from 182 in v0.3.1

Install

cargo install commitbee

Getting Started

Stage your changes, then:

commitbee           # Interactive — review and confirm
commitbee --yes     # Auto-commit without prompting
commitbee --dry-run # Preview message only

Full Changelog

v0.3.1...v0.4.0

v0.3.1 — Trust, but Verify

09 Mar 18:33
v0.3.1
3846c10

Choose a tag to compare

Stage your changes and run. CommitBee handles the rest — no configuration needed.

Defaults to Ollama with qwen3.5:4b out of the box.

What's New

  • Multi-pass corrective retry — Validator checks LLM output against 7 rules and retries up to 3 times with targeted correction instructions
  • Subject length enforcement — Rejects subjects exceeding 72-char first line with a clear error instead of silent truncation
  • Stronger prompt budget — Character limit embedded directly in JSON template, "HARD LIMIT" phrasing for better small-model compliance
  • Default model: qwen3.5:4b — Smaller (3.4GB), no thinking overhead, clean JSON output out of the box
  • Configurable thinking modethink config option for Ollama models that support reasoning separation
  • 182 tests — Up from 178 in v0.3.0

Install

cargo install commitbee

Getting Started

Stage your changes, then:

commitbee           # Interactive — review and confirm
commitbee --yes     # Auto-commit without prompting
commitbee --dry-run # Preview message only

Full Changelog

v0.3.0...v0.3.1

v0.3.0 — Read Between the Lines

08 Mar 03:02
v0.3.0
176a4c7

Choose a tag to compare

Stage your changes and run. CommitBee handles the rest — no configuration needed.

Defaults to Ollama with qwen3:4b out of the box.

What's New

  • Diff-shape fingerprinting + Jaccard clustering — Files grouped by change shape and vocabulary overlap, not just directory proximity
  • Evidence-based type inference — Constraint rules drive commit type: bug evidence → fix, mechanical → style, dependency-only → chore
  • Post-generation validation — 6 deterministic rules catch LLM hallucinations and retry with corrections
  • Metadata-aware breaking detection — Detects MSRV bumps, engines.node, requires-python changes as breaking
  • Symbol tri-state tracking — Added, removed, and modified-signature differentiation in semantic analysis
  • Primary change detection — Subjects anchored to the most significant change in multi-file commits
  • Hardened sanitizer — Handles <think> blocks, conversational preambles, noisy JSON from any model
  • NUL-delimited git parsing — Safe handling of paths with special characters
  • Parallel tree-sitter parsing — rayon for CPU-bound work, tokio JoinSet for concurrent git fetching
  • Anti-hallucination prompt engineering — EVIDENCE/CONSTRAINTS sections and negative examples
  • 178 tests — Up from 118 in v0.2.0

Install

cargo install commitbee

Getting Started

Stage your changes, then:

commitbee           # Interactive — review and confirm
commitbee --yes     # Auto-commit without prompting
commitbee --dry-run # Preview message only

Full Changelog

v0.2.0...v0.3.0

v0.2.0 — Commit, Don't Think

21 Feb 19:15
v0.2.0
a6dec98

Choose a tag to compare

Stage your changes and run. CommitBee handles the rest — no configuration needed.

Defaults to Ollama with qwen3:4b out of the box.

What's New

  • Commit splitting — Detects multi-concern staged changes and offers to split them into focused, well-typed commits
  • Body line wrapping — Automatically wraps commit body at 72 characters, keeping messages git-standard compliant
  • --no-scope — Skip scope inference per-run or disable permanently via config
  • --no-split — Suppress split suggestions when you want a single commit regardless
  • Configurable provider base URLs — Point OpenAI, Anthropic, or Ollama at custom endpoints (proxies, self-hosted instances)
  • 118 tests — Coverage across sanitizer, splitter, context builder, safety scanner, and LLM provider integration (via wiremock)

Install

cargo install commitbee

Getting Started

Stage your changes, then:

commitbee           # Interactive — review and confirm
commitbee --yes     # Auto-commit without prompting
commitbee --dry-run # Preview message only

To use the recommended reference model:

ollama pull hopephoto/Qwen3-4B-Instruct-2507_q8:latest

Then add to your config (commitbee init to create one):

model = "hopephoto/Qwen3-4B-Instruct-2507_q8:latest"

Full Changelog

v0.1.0...v0.2.0

v0.1.0 — Name Reservation

21 Feb 19:14
v0.1.0
fadf648

Choose a tag to compare

Initial crates.io name reservation. No functional features — see v0.2.0 for the first usable release.