Releases: bit-vcs/bit
v0.42.1
Full Changelog: v0.42.0...v0.42.1
v0.42.0
v0.41.0
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-lfsbinary 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/EDITORsupport- 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.hooksPathconfig support —.githooks/pre-commitworks 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
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 rebaseexec/breakcommands in interactive rebase--exec/-xflag: insert exec after every pick- Empty todo exits with proper error code
- Exec checks working tree cleanness after execution
Other
core.hooksPathconfig 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
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.hooksPathfrom git config for hook execution - Supports absolute and relative paths
- Self-hosting complete:
.githooks/pre-commitworks withgit config core.hooksPath .githooks
log --graph and --stat enabled
git log --graphandgit log --statnow 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
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:
--autosquashflag andrebase.autoSquashconfig forfixup!/squash!commits - Editor injection:
GIT_SEQUENCE_EDITORfor todo editing,GIT_EDITORfor commit messages - Programmatic API: library layer accepts
(String) -> String?callbacks for non-interactive use (CI, AI agents, MCP tools) - State recovery:
--continue,--abort,--skipall work with interactive rebase state
Full Changelog: v0.40.1...v0.40.2
Full Changelog: v0.40.1...v0.40.2
v0.40.1
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 -istandalone error message (was silently failing) - Fix signed commit test expectation (bit now handles
-Snatively) - 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
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#idformat - 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
Full Changelog: v0.37.0...v0.38.0
v0.37.0
What's Changed
Full Changelog: v0.35.2...v0.37.0