For the "get pubkey" command, a new "t:key_type=asymmetric-key" argument was added, which is a breaking change for users who are using the subsequent file argument:
yubihsm-shell$ git checkout 2.5.0
yubihsm-shell$ git grep -A1 "yh_com_get_pubkey,"
src/main.c: register_subcommand(*c, (Command){"pubkey", yh_com_get_pubkey,
src/main.c- "e:session,w:key_id,F:file=-", fmt_nofmt,
yubihsm-shell$ git checkout 2.6.0
yubihsm-shell$ git grep -A1 "yh_com_get_pubkey,"
src/main.c: register_subcommand(*c, (Command){"pubkey", yh_com_get_pubkey,
src/main.c- "e:session,w:key_id,t:key_type=asymmetric-key,F:file=-", fmt_nofmt,
Similarly, for the "get wrapped" command, another new argument was added in a way that becomes a breaking change for users who are using the file argument:
yubihsm-shell$ git checkout 2.5.0
yubihsm-shell$ git grep -A1 "yh_com_get_wrapped,"
src/main.c: (Command){"wrapped", yh_com_get_wrapped,
src/main.c- "e:session,w:wrapkey_id,t:type,w:id,F:file=-",
yubihsm-shell$ git checkout 2.6.0
yubihsm-shell$ git grep -A1 "yh_com_get_wrapped,"
src/main.c: (Command){"wrapped", yh_com_get_wrapped,
src/main.c- "e:session,w:wrapkey_id,t:type,w:id,b:include_seed=0,F:file=-",
Both changes were done in the commit 080e32d
In the changelog https://github.com/Yubico/yubihsm-shell/blob/master/CHANGELOG that change is described as "Add support for asymmetric wrap".
Could the new functionality be added in a way that does not break existing yubihsm-shell usage?
Breaking changes like this make it more cumbersome to maintain things relying on yubihsm-shell. Example: https://git.glasklar.is/sigsum/core/key-mgmt/-/merge_requests/28
The changes regarding "get pubkey" and "get wrapped" should at least be documented as breaking changes to alert users to the fact that existing scripts may stop working when yubihsm-shell is upgraded?
For the "get pubkey" command, a new "t:key_type=asymmetric-key" argument was added, which is a breaking change for users who are using the subsequent file argument:
Similarly, for the "get wrapped" command, another new argument was added in a way that becomes a breaking change for users who are using the file argument:
Both changes were done in the commit 080e32d
In the changelog https://github.com/Yubico/yubihsm-shell/blob/master/CHANGELOG that change is described as "Add support for asymmetric wrap".
Could the new functionality be added in a way that does not break existing yubihsm-shell usage?
Breaking changes like this make it more cumbersome to maintain things relying on yubihsm-shell. Example: https://git.glasklar.is/sigsum/core/key-mgmt/-/merge_requests/28
The changes regarding "get pubkey" and "get wrapped" should at least be documented as breaking changes to alert users to the fact that existing scripts may stop working when yubihsm-shell is upgraded?