@@ -37,6 +37,61 @@ To be released.
3737[ #120 ] : https://github.com/dahlia/optique/issues/120
3838
3939
40+ Version 0.10.3
41+ --------------
42+
43+ Released on February 18, 2026.
44+
45+ ### @optique/core
46+
47+ - Fixed how ` brief ` and ` description ` are displayed in subcommand help
48+ pages. [[ #118 ] , [ #119 ]]
49+
50+ - Each help page now shows ` brief ` at the very top (before the Usage
51+ line) and ` description ` below the Usage line, consistent with how
52+ the root-level help page works.
53+
54+ - The ` run() ` -level ` brief ` and ` description ` no longer bleed into a
55+ subcommand's help page. Previously, when a subcommand had no
56+ ` description ` of its own, the description supplied to ` run() ` would
57+ appear on the subcommand's help page (e.g. ` repro file --help ` would
58+ show “Description for repro CLI” even though that text describes the
59+ top-level program, not the ` file ` subcommand). Now, only the
60+ subcommand's own ` brief ` and ` description ` (if any) are shown;
61+ run-level docs are used only for the root-level help page.
62+
63+ - When ` command() ` is wrapped with ` group() ` , the command's ` brief ` ,
64+ ` description ` , and ` footer ` are now correctly forwarded to the help
65+ page. Previously ` group() ` only forwarded ` description ` , so ` brief `
66+ was silently dropped and the run-level brief appeared instead.
67+
68+ - Fixed contradictory “Did you mean?” suggestion when a subcommand name is
69+ provided at the wrong level. Previously, a structure like
70+ ` command("file", or(add, remove)) ` given the input ` add --help ` would
71+ report ` Expected command file, but got add. ` and then illogically suggest
72+ ` Did you mean add? ` even though ` add ` is only valid * inside* ` file ` .
73+ Suggestions in ` command() ` errors now derive from
74+ ` extractLeadingCommandNames() ` , which limits candidates to commands that
75+ are actually valid at the current parse position, not commands nested
76+ inside other commands. The same scoping is applied when a custom
77+ ` notMatched ` callback receives its ` suggestions ` argument. [[ #117 ]]
78+
79+ - Fixed ` group() ` label leaking into a selected subcommand's own nested
80+ command list. Previously, when a ` group() ` -wrapped command (e.g.,
81+ ` alias ` ) itself contained further subcommands (e.g., ` delete ` , ` set ` ),
82+ viewing ` alias --help ` would show those inner commands under the outer
83+ group's label (e.g., “Additional commands:”), which was incorrect.
84+ The fix compares current command entries against the initial set of
85+ commands that the group originally labeled; the label is now applied
86+ only when the visible commands are the group's own top-level commands,
87+ not commands from a deeper level. [[ #116 ]]
88+
89+ [ #116 ] : https://github.com/dahlia/optique/issues/116
90+ [ #117 ] : https://github.com/dahlia/optique/issues/117
91+ [ #118 ] : https://github.com/dahlia/optique/issues/118
92+ [ #119 ] : https://github.com/dahlia/optique/issues/119
93+
94+
4095Version 0.10.2
4196--------------
4297
@@ -893,6 +948,56 @@ to generate Unix man pages that stay synchronized with parser definitions.
893948[#77 ]: https :// github.com/dahlia/optique/issues/77
894949
895950
951+ Version 0.9 .9
952+ ------------ -
953+
954+ Released on February 18 , 2026.
955+
956+ ### @optique / core
957+
958+ - Fixed how ` brief ` and ` description ` are displayed in subcommand help
959+ pages . [[#118 ], [#119 ]]
960+
961+ - Each help page now shows ` brief ` at the very top (before the Usage
962+ line ) and ` description ` below the Usage line , consistent with how
963+ the root - level help page works .
964+
965+ - The ` run() ` - level ` brief ` and ` description ` no longer bleed into a
966+ subcommand ' s help page. Previously, when a subcommand had no
967+ ` description ` of its own , the description supplied to ` run() ` would
968+ appear on the subcommand ' s help page (e.g. `repro file --help` would
969+ show “Description for repro CLI ” even though that text describes the
970+ top - level program , not the ` file ` subcommand ). Now , only the
971+ subcommand ' s own `brief` and `description` (if any) are shown;
972+ run - level docs are used only for the root - level help page .
973+
974+ - When ` command() ` is wrapped with ` group() ` , the command ' s `brief`,
975+ ` description ` , and ` footer ` are now correctly forwarded to the help
976+ page . Previously ` group() ` only forwarded ` description ` , so ` brief `
977+ was silently dropped and the run - level brief appeared instead .
978+
979+ - Fixed contradictory “Did you mean ? ” suggestion when a subcommand name is
980+ provided at the wrong level . Previously , a structure like
981+ ` command("file", or(add, remove)) ` given the input ` add --help ` would
982+ report ` Expected command file, but got add. ` and then illogically suggest
983+ ` Did you mean add? ` even though ` add ` is only valid * inside * ` file ` .
984+ Suggestions in ` command() ` errors now derive from
985+ ` extractLeadingCommandNames() ` , which limits candidates to commands that
986+ are actually valid at the current parse position , not commands nested
987+ inside other commands . The same scoping is applied when a custom
988+ ` notMatched ` callback receives its ` suggestions ` argument . [[#117 ]]
989+
990+ - Fixed ` group() ` label leaking into a selected subcommand ' s own nested
991+ command list . Previously , when a ` group() ` - wrapped command (e .g .,
992+ ` alias ` ) itself contained further subcommands (e .g ., ` delete ` , ` set ` ),
993+ viewing ` alias --help ` would show those inner commands under the outer
994+ group ' s label (e.g., “Additional commands:”), which was incorrect.
995+ The fix compares current command entries against the initial set of
996+ commands that the group originally labeled ; the label is now applied
997+ only when the visible commands are the group ' s own top-level commands,
998+ not commands from a deeper level . [[#116 ]]
999+
1000+
8961001Version 0.9 .8
8971002------------ -
8981003
@@ -1366,6 +1471,56 @@ remotes) using [isomorphic-git]. [[#71], [#72]]
13661471[#72]: https://github.com/dahlia/optique/pull/72
13671472
13681473
1474+ Version 0.8.15
1475+ --------------
1476+
1477+ Released on February 18, 2026.
1478+
1479+ ### @optique/core
1480+
1481+ - Fixed how ` brief ` and ` description ` are displayed in subcommand help
1482+ pages. [[#118], [#119]]
1483+
1484+ - Each help page now shows ` brief ` at the very top (before the Usage
1485+ line) and ` description ` below the Usage line, consistent with how
1486+ the root-level help page works.
1487+
1488+ - The ` run ()` -level ` brief ` and ` description ` no longer bleed into a
1489+ subcommand's help page. Previously, when a subcommand had no
1490+ ` description ` of its own, the description supplied to ` run ()` would
1491+ appear on the subcommand's help page (e.g. ` repro file -- help ` would
1492+ show “Description for repro CLI” even though that text describes the
1493+ top-level program, not the ` file ` subcommand). Now, only the
1494+ subcommand's own ` brief ` and ` description ` (if any) are shown;
1495+ run-level docs are used only for the root-level help page.
1496+
1497+ - When ` command ()` is wrapped with ` group ()` , the command's ` brief ` ,
1498+ ` description ` , and ` footer ` are now correctly forwarded to the help
1499+ page. Previously ` group ()` only forwarded ` description ` , so ` brief `
1500+ was silently dropped and the run-level brief appeared instead.
1501+
1502+ - Fixed contradictory “Did you mean?” suggestion when a subcommand name is
1503+ provided at the wrong level. Previously, a structure like
1504+ ` command (" file" , or (add , remove ))` given the input ` add -- help ` would
1505+ report ` Expected command file , but got add .` and then illogically suggest
1506+ ` Did you mean add ? ` even though ` add ` is only valid *inside* ` file ` .
1507+ Suggestions in ` command ()` errors now derive from
1508+ ` extractLeadingCommandNames ()` , which limits candidates to commands that
1509+ are actually valid at the current parse position, not commands nested
1510+ inside other commands. The same scoping is applied when a custom
1511+ ` notMatched ` callback receives its ` suggestions ` argument. [[#117]]
1512+
1513+ - Fixed ` group ()` label leaking into a selected subcommand's own nested
1514+ command list. Previously, when a ` group ()` -wrapped command (e.g.,
1515+ ` alias ` ) itself contained further subcommands (e.g., ` delete ` , ` set ` ),
1516+ viewing ` alias -- help ` would show those inner commands under the outer
1517+ group's label (e.g., “Additional commands:”), which was incorrect.
1518+ The fix compares current command entries against the initial set of
1519+ commands that the group originally labeled; the label is now applied
1520+ only when the visible commands are the group's own top-level commands,
1521+ not commands from a deeper level. [[#116]]
1522+
1523+
13691524Version 0.8.14
13701525--------------
13711526
@@ -1748,6 +1903,56 @@ parsing strategies.
17481903[LogTape]: https://logtape.org/
17491904
17501905
1906+ Version 0.7.17
1907+ --------------
1908+
1909+ Released on February 18, 2026.
1910+
1911+ ### @optique/core
1912+
1913+ - Fixed how ` brief ` and ` description ` are displayed in subcommand help
1914+ pages. [[#118], [#119]]
1915+
1916+ - Each help page now shows ` brief ` at the very top (before the Usage
1917+ line) and ` description ` below the Usage line, consistent with how
1918+ the root-level help page works.
1919+
1920+ - The ` run ()` -level ` brief ` and ` description ` no longer bleed into a
1921+ subcommand's help page. Previously, when a subcommand had no
1922+ ` description ` of its own, the description supplied to ` run ()` would
1923+ appear on the subcommand's help page (e.g. ` repro file -- help ` would
1924+ show “Description for repro CLI” even though that text describes the
1925+ top-level program, not the ` file ` subcommand). Now, only the
1926+ subcommand's own ` brief ` and ` description ` (if any) are shown;
1927+ run-level docs are used only for the root-level help page.
1928+
1929+ - When ` command ()` is wrapped with ` group ()` , the command's ` brief ` ,
1930+ ` description ` , and ` footer ` are now correctly forwarded to the help
1931+ page. Previously ` group ()` only forwarded ` description ` , so ` brief `
1932+ was silently dropped and the run-level brief appeared instead.
1933+
1934+ - Fixed contradictory “Did you mean?” suggestion when a subcommand name is
1935+ provided at the wrong level. Previously, a structure like
1936+ ` command (" file" , or (add , remove ))` given the input ` add -- help ` would
1937+ report ` Expected command file , but got add .` and then illogically suggest
1938+ ` Did you mean add ? ` —even though ` add ` is only valid *inside* ` file ` .
1939+ Suggestions in ` command ()` errors now derive from
1940+ ` extractLeadingCommandNames ()` , which limits candidates to commands that
1941+ are actually valid at the current parse position, not commands nested
1942+ inside other commands. The same scoping is applied when a custom
1943+ ` notMatched ` callback receives its ` suggestions ` argument. [[#117]]
1944+
1945+ - Fixed ` group ()` label leaking into a selected subcommand's own nested
1946+ command list. Previously, when a ` group ()` -wrapped command (e.g.,
1947+ ` alias ` ) itself contained further subcommands (e.g., ` delete ` , ` set ` ),
1948+ viewing ` alias -- help ` would show those inner commands under the outer
1949+ group's label (e.g., “Additional commands:”), which was incorrect.
1950+ The fix compares current command entries against the initial set of
1951+ commands that the group originally labeled; the label is now applied
1952+ only when the visible commands are the group's own top-level commands,
1953+ not commands from a deeper level. [[#116]]
1954+
1955+
17511956Version 0.7.16
17521957--------------
17531958
0 commit comments