Skip to content

v0.4.2 — bug-fix patch

Choose a tag to compare

@slewinus slewinus released this 26 May 11:13
· 12 commits to main since this release

Bug-fix patch on v0.4.1. Three fixes from the backlog audit, plus README translated to English.

Fixes

  • #127 fix(cli): preserve env_var on klef edit <name> without --as (closes #71). Editing a key's value no longer silently clobbers a custom env_var set at add time — protects secret-rotation flows.
  • #128 fix(cli): exit cleanly on BrokenPipe instead of panicking (closes #73). klef list | head, klef tags | grep -q ..., and any piped command now behave like standard Unix tools (clean exit, no Rust panic on stderr). New outln!/out! macros centralize the handling — no unsafe, workspace stays unsafe_code = "forbid".
  • #129 fix(core): hold the exclusive restore lock across both phases (closes #72). New Store::restore(&[BundleEntry]) acquires the lock once; legacy 2-phase API marked #[deprecated] (non-breaking).

Docs

  • #126 docs(readme): full English translation of the README.

Versions

  • klef 0.4.1 → 0.4.2
  • klef-core 0.3.0 → 0.3.1
  • klef-gui unchanged (0.2.1) — picks up klef-core 0.3.1 via path dep.

Compatibility

No breaking changes. klef-core public surface preserved (old 2-phase restore API still works, just deprecated).

Tests

265/265 passing across klef and klef-core (24 suites, including 8 new regression tests across the three fixes).

Thanks to @LEKALIF for the three PRs.