Breaking changes waiting for the next major release. Every published crate shares the 6.x
line, and Cargo treats any 6.x as compatible with any other, so anything here would break
an adopter's cargo update if it shipped sooner. mise run lint:semver catches the ones
that reach a pull request.
When a change can't go out without breaking the public API, ship the part that doesn't break now and add the rest here: what changes, why, and what adopters should do.