Enhancements
- Add task groups for grouping tasks under a heading in help output by @brolewis in #354
- Treat false boolean args as unset env vars and add private vars by @kzrnm in #359
Breaking changes
This release includes a refactor of how task variables are managed, improving boolean arg semantics and introducing private
variables. These changes may affect a small number of existing configurations:
-
Boolean args now produce unset env vars when false. Previously
falsemapped to the string"False"; now the env var is removed entirely. This gives consistent falsy behavior across shells and parameter expansion operators (:-,:+). Tasks checking for the literal string"False"or usingos.environ["flag"]will need updating. -
Private env vars are filtered from subprocesses. Variables starting with
_and containing no uppercase characters (e.g._secret) are now treated as private — available for config-time interpolation but excluded from the task subprocess environment. This is unlikely to affect existing configurations, but any task that relies on a subprocess reading a_lowercaseenv var will need to rename it. -
Private arg option names strip leading underscores. An arg named
_flagwith no explicitoptionsnow generates--flaginstead of--_flag. A new validation rejects duplicate CLI options across args.
See the migration guide for details and recommended fixes.
New Contributors
Full Changelog: v0.42.1...v0.43.0