Changed
- The
duhodependency is now>=0.5.0,<0.6. 0.1.1 capped it at<0.4to
stay installable; the commands are now declared against duho's current
argument model instead, so the cap is gone and pkgforge tracks the
supported duho line again. install'ssourceis declared as alist[Path]rather than a
Union[list[Path], Path]. duho resolves a union by composing its members'
scalar converters, so a collection member has no way to keep its own
argparse action and the parser refused to build. The command still accepts
a barePathfrom the Python API; only the annotation narrowed.--excludeoninstall,scananddbdumpis declared with
duho.Append, making it a repeatable single-value option.
Fixed
--excludeworks through the command line again. It previously combined a
greedynargswith an append action, soinstall --exclude=Pproduced a
list of lists (AttributeError: 'list' object has no attribute 'pattern')
and the bare-X P SRC DSTform swallowed the positionals. Both forms now
parse to a flat statement list; the multi-source regression test drives the
option through argv rather than assigning it directly.
Notes
-x/--decompressstill takes an optional argument and therefore still
consumes the following token, soinstall -x SRC DSTreadsSRCas the
compression kind. That is argparse's own behavior for this shape and the
0.1.1 guard rejecting a path-shaped kind remains in place and necessary.- The suite also passes against duho 0.4.x, but 0.5 is the series exercised
and therefore the one declared. CI now runs one job pinned to the declared
floor so it is verified rather than assumed.
Full Changelog: v0.1.1...v0.1.2