Skip to content

Version 5.1.3

Choose a tag to compare

@andreapollastri andreapollastri released this 07 Sep 09:25
· 5 commits to master since this release

[5.1.3] — 2026-09-07

A hotfix for cipi ini list: the table header printed, then the command died on the first setting.

Fixed

  • cipi ini list crashed with _INI_SOURCE: unbound variable. _ini_effective recorded which layer a value came from by assigning a global, then the caller captured the value with val=$(_ini_effective …). Command substitution runs in a subshell, so the assignment never reached the parent, and set -u killed the process on the first catalog key — after printing the "SETTING / VALUE / SET BY" header and nothing else. The function now sets _INI_VALUE and _INI_SOURCE in the current shell; list, get and the companion-limit cascade all read those directly. No migration: the next cipi self-update copies the new lib/ini.sh and that is the whole fix.
  • A regression test now fails if this class of bug returns. tests/verify-5.1.3.sh walks the full catalog under set -u and refuses a $(_ini_effective) call site.