Skip to content

v0.3.0 - single kpxc binary with subcommands

Choose a tag to compare

@magnattic magnattic released this 29 Apr 22:35
· 7 commits to main since this release

Breaking-change release: three sibling commands collapsed into one binary with subcommands.

Breaking changes from v0.2.x

Commands consolidated

Old New
kpunlock kpxc unlock
kplock kpxc lock
kpget <entry> kpxc get <entry>
kpxc <subcmd> unchanged

Single entry point, git/kubectl-style. Only one symlink to install.

Env vars renamed KP_* to KPXC_*

Old New
KP_DB KPXC_DB
KP_KEYFILE KPXC_KEYFILE
KP_TTL KPXC_TTL
KP_CACHE KPXC_CACHE
KP_CONFIG KPXC_RC

KPXC_RC (not KPXC_CONFIG) for the rc file because KPXC_CONFIG and KPXC_CONFIG_LOCAL are reserved by keepassxc-cli itself.

Cache file path (/dev/shm/<uid>-kpxc) and config dir (~/.config/kpxc/) are unchanged.

Migration

# Remove old symlinks
rm ~/.local/bin/{kpunlock,kpget,kplock}

# Single new symlink (the only one needed now)
ln -s ~/.local/share/kpxc/bin/kpxc ~/.local/bin/kpxc

# Update env-var names in your config
sed -i 's/^KP_/KPXC_/' ~/.config/kpxc/config

# Update consumers (himalaya, mbsync, restic, ...)
#   kpget <entry>  ->  kpxc get <entry>

Tests

Test suite grew from 28 to 31. All green.