Rename the CHANGELOG's [Unreleased] heading to [1.9.0] - 2026-09-12,
open a fresh empty [Unreleased] above it, and bump _version.py (setup.py
reads it, so that is the only place the number lives).
Minor rather than patch, unlike 1.8.10. That release reasoned its way to
a patch bump on the grounds that this project has always shipped
user-facing removals as patch releases, and that _version.py already
declared 1.8.10. Neither applies here.
The deciding change is `-f md`. Removals fail loudly -- dropping API v2
or the -x stub makes a script error, and someone investigates. This is
the first release where an existing flag SUCCEEDS and produces different
output for the same input: a script piping -f md keeps running and
quietly writes a pipe table where it used to write aligned text. That is
exactly what a version number is for, and a patch bump would not make
anyone read the changelog.
The rest of the release supports it: an engine fix that had left two
commands unusable in every format but json, a new make swaggerfile
target, and the flag-position documentation. The tools/ additions do not
figure -- they are not part of the elm program, are not built by make,
and do not ship in the binary.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>