v3.0.0a1
Pre-release
Pre-release
Warning
Alpha prerelease — breaking transport change. Not recommended for production use.
Highlights
bw serve HTTP transport — Replaces the one-subprocess-per-operation model with a persistent bw serve process and HTTP API. Dramatically fewer process spawns, automatic port selection, health polling, and signal-safe cleanup.
Batch import — New bw import path for bulk item creation instead of creating entries one at a time.
Async parallel attachment uploads — Attachments upload concurrently (bounded semaphore, default 4) instead of sequentially.
Dedup index — O(1) duplicate detection via in-memory set, skipping per-item API lookups.
New CLI flags
-d/--debug— Full DEBUG logging (including httpx/pykeepass).-vnow only shows kp2bw operational detail.
Key fixes
- Shell injection in
bw import(replacedshell=Truewith list-form subprocess) bw serveIPv6 binding mismatch causing 60s timeout- Duplicate item names losing attachment associations
- Signal handler init race on early timeout
close()double-call crash- Sensitive secrets leaking in diagnostic output
Breaking changes
- Requires
httpx>=0.28.0(new dependency) - Transport layer completely replaced — CLI behavior is the same but internal API surface changed by @kjanat in #2
Full Changelog: v2.0.0...v3.0.0a1