# What changed in poethepoet

> 16 changes in poethepoet 0.47 to 0.49 from its official release notes, upgrade guides and advisories: 4 breaking, 5 new APIs and options. Each one cited. Sources checked 2026-10-20. HTML: https://unstale.sh/pypi/poethepoet/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## poethepoet 0.49

### Breaking changes

- The `pastel` dependency is removed; `pyyaml` and, on older pythons, `tomli` are the only runtime dependencies. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- Square bracket glob patterns in cmd tasks are parsed like bash: whitespace, backslashes, quotes, and parameter expansions inside brackets are no longer taken literally. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- Errors from switch cases and referenced tasks are propagated, and poe exits with the first failed subtask's exit code instead of `1`. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- Script tasks that call a function and expr tasks now receive the same `sys.argv` as module script tasks: parsed declared args with defaults, followed by args after `--`. Command-line argument templates are no longer expanded for these tasks. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)

### New APIs and options

- Customize the string value that boolean arguments are exposed as. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- Upgrade an installed AI Agent Skill with this command. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- Customize the string value that boolean arguments are exposed as. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- The `.yml` file extension is supported for `poe_tasks.yml` and included config files. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)

### Behavior and default changes

- Subtask argument defaults are resolved against the environment inherited from the parent task. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)

### Fixes and other changes

- Boolean flags forwarded to Python tasks are no longer inverted when their default is templated. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- Glob patterns are resolved after parameter expansion, respecting expansions and quotes inside square brackets; unmatched globs are passed on unescaped. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- Absolute glob patterns and `**` within a path component are handled instead of crashing. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- Malformed, empty, and non-table config files produce clear errors instead of tracebacks. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)
- Cyclic `deps` and `uses` are detected and reported instead of silently running nothing or crashing. (0.49.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.49.0)

## poethepoet 0.48

### New APIs and options

- Adds a task option for loading variables from another task's output like an env file. (0.48.0) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.48.0)

## poethepoet 0.47

### Fixes and other changes

- Restores default value propagation when multiple positional arguments are absent. (0.47.1) — [release notes](https://github.com/nat-n/poethepoet/releases/tag/v0.47.1)
