Skip to content

Releases: bit-vcs/bit

v0.42.1

10 Apr 14:54

Choose a tag to compare

v0.42.0

10 Apr 14:24

Choose a tag to compare

What's Changed

  • Align JS signing API docs and wrappers by @mizchi in #35

Full Changelog: v0.41.0...v0.42.0

What's Changed

  • Align JS signing API docs and wrappers by @mizchi in #35

Full Changelog: v0.41.0...v0.42.0

v0.41.0

05 Apr 12:05

Choose a tag to compare

v0.41.0 — Rebase Fully Native + LFS Read-Only

Major milestone: rebase is now fully native (GPG signing excepted). Combined with LFS read-only support, log enhancements, and core.hooksPath, bit can self-host its own development without delegating to system git for daily operations.

Highlights

Git LFS Read-Only (v0.40.0-v0.40.1)

  • Native LFS pointer resolution — no git-lfs binary needed
  • Batch download with 8 concurrent connections
  • SHA-256 integrity verification, SSRF protection, size validation
  • Local cache at .git/lfs/objects/ (git-lfs compatible layout)

Interactive Rebase — Complete Native Implementation (v0.40.2-v0.41.0)

  • All commands: pick, reword, edit, squash, fixup, drop, exec, break, label, reset, merge
  • All flags: --autosquash, --exec/-x, --autostash, --keep-empty, --edit-todo, --show-current-patch, --update-refs, --root, --strategy/-X, --rebase-merges
  • Injectable editor architecture: library accepts (String) -> String? callbacks
  • GIT_SEQUENCE_EDITOR / EDITOR support
  • t3404: 129/132 tests pass (97.7%)

Log Enhancements (v0.40.3-v0.40.4)

  • --graph: branch visualization
  • --stat: diffstat output
  • --name-only / --name-status: file change listing
  • --topo-order / --date-order / --author-date-order: commit sorting
  • -- <path>: pathspec filtering

Self-Hosting (v0.40.3)

  • core.hooksPath config support — .githooks/pre-commit works natively
  • bit can now develop itself without system git for daily workflow

Breaking Changes

None.

Stats

  • 108 native commands
  • 973 git test suite tests passing
  • 43/43 E2E tests passing
  • 4 releases in this series (v0.40.0 → v0.41.0)

Full Changelog: v0.38.0...v0.41.0

Full Changelog: v0.40.4...v0.41.0

v0.40.4

05 Apr 06:18

Choose a tag to compare

Delegate → Native migration

Major push to reduce fallback to system git. Most daily-use features now run natively.

log

  • --name-only / --name-status: show changed file paths with status
  • --topo-order / --date-order / --author-date-order: commit sort orders
  • -- <path>: pathspec filtering (git log -- src/lib/)

rebase

  • --autostash: stash dirty worktree before rebase, apply after completion
  • --keep-empty / --no-keep-empty: accepted (bit keeps empty commits by default)
  • --edit-todo: re-edit todo list of in-progress interactive rebase
  • exec / break commands in interactive rebase
  • --exec / -x flag: insert exec after every pick
  • Empty todo exits with proper error code
  • Exec checks working tree cleanness after execution

Other

  • core.hooksPath config support for hook execution
  • t3404 interactive rebase: 129/132 tests pass (97.7%)

Full Changelog: v0.40.3...v0.40.4

Full Changelog: v0.40.3...v0.40.4

v0.40.3

05 Apr 04:46

Choose a tag to compare

What's New

Interactive Rebase: exec/break commands

  • exec / x: run shell commands during rebase (stops on non-zero exit)
  • break / b: pause rebase, resume with --continue
  • --exec "cmd" / -x "cmd" flag: insert exec after every pick
  • Exec checks working tree cleanness after execution

core.hooksPath support

  • bit now reads core.hooksPath from git config for hook execution
  • Supports absolute and relative paths
  • Self-hosting complete: .githooks/pre-commit works with git config core.hooksPath .githooks

log --graph and --stat enabled

  • git log --graph and git log --stat now run natively (previously delegated to system git)

t3404 compatibility

  • Interactive rebase: 129/132 tests pass (97.7%)
  • Empty todo list exits with proper error
  • Exec validates tree cleanness after command execution

Full Changelog: v0.40.2...v0.40.3

Full Changelog: v0.40.2...v0.40.3

v0.40.2

04 Apr 14:46

Choose a tag to compare

What's New

Interactive Rebase (rebase -i)

bit now natively handles rebase -i without delegating to system git. The editor interaction is injectable — library layer accepts callbacks, command layer uses GIT_SEQUENCE_EDITOR / EDITOR.

  • Supported commands: pick, reword, edit, squash, fixup, drop
  • Autosquash: --autosquash flag and rebase.autoSquash config for fixup!/squash! commits
  • Editor injection: GIT_SEQUENCE_EDITOR for todo editing, GIT_EDITOR for commit messages
  • Programmatic API: library layer accepts (String) -> String? callbacks for non-interactive use (CI, AI agents, MCP tools)
  • State recovery: --continue, --abort, --skip all work with interactive rebase state

Full Changelog: v0.40.1...v0.40.2

Full Changelog: v0.40.1...v0.40.2

v0.40.1

04 Apr 11:13

Choose a tag to compare

Security Fixes

  • SHA-256 integrity verification on downloaded LFS objects — reject tampered content
  • SSRF protection — validate LFS download URLs are HTTP(S) only, filter forwarded headers
  • Size verification on LFS downloads
  • Path traversal protection in cross-repo issue references

Bug Fixes

  • Fix rebase -i standalone error message (was silently failing)
  • Fix signed commit test expectation (bit now handles -S natively)
  • Sync npm package version to 0.40.0

Full Changelog: v0.40.0...v0.40.1

Full Changelog: v0.40.0...v0.40.1

v0.40.0

04 Apr 09:43

Choose a tag to compare

What's New

Git LFS Read-Only Support

bit can now clone and checkout repositories that use git LFS. LFS pointer files are automatically resolved to their actual content — no git-lfs binary required.

  • Native LFS implementation — bit handles LFS directly, no external dependency
  • Batch prefetch — walks the target tree before checkout, downloads all LFS objects in parallel (8 concurrent)
  • Transparent checkout — LFS pointer blobs are replaced with real content during worktree write
  • LFS URL resolution — supports lfs.url, remote.<name>.lfsurl, or derives from remote URL
  • Local cache — downloaded objects stored in .git/lfs/objects/ (compatible with git-lfs layout)

Scope: Read-only (clone/checkout). Write operations (push/clean) are not yet supported.

Cross-Repo Issue References

  • Link issues across local repositories using owner/repo#id format
  • Working set management (bit issue start/stop/active)
  • Repository aliases for frequently-referenced repos

GitHub Issue Sync (Read-Only)

  • Pull issues, PRs, and comments from GitHub to local bit issue store
  • Sync status tracking via SyncLink records
  • Write operations disabled by default (safety gate via BIT_GITHUB_SYNC_WRITE=1)

Full Changelog: v0.38.0...v0.40.0

What's Changed

  • Bump bitflow dependency to 0.4.0 by @mizchi in #33
  • Add flaker git-compat runner by @mizchi in #32
  • feat(lfs): add git LFS read-only support (pointer resolution + batch download) by @mizchi in #34

Full Changelog: v0.38.0...v0.40.0

v0.38.0

29 Mar 08:20

Choose a tag to compare

Full Changelog: v0.37.0...v0.38.0

v0.37.0

28 Mar 13:25

Choose a tag to compare

What's Changed

  • Fix diff raw output, expand test coverage, add new features by @mizchi in #28

Full Changelog: v0.35.2...v0.37.0