Bikeshed Major Version updates (v6 and v7) and Python min version update (3.12)

Yesterday, I published Bikeshed version 6.0.0, a potentially (but very
likely not actually!) breaking change in Bikeshed, where I redid a lot
of the underlying parser structure. This *should* be a pretty
invisible change; at worst, you might notice Bikeshed telling you
about markup errors in your document that previously got silently
corrected in some arbitrary way. The new stuff should also be a bit
faster; running my entire test suite of 400ish specs takes 40% less
time now (from 5min and change to 3min and change on my laptop!) I
spent a *lot* of time and effort making it as invisible of a change as
possible, but it's still possible that I missed something; if you
notice something being broken please file an issue at
<https://github.com/speced/bikeshed/issues/new> asap.

Today I published Bikeshed version 7.0.0, a slightly more likely
breaking version, which bumps the minimum supported Python version to
3.12, because it turns out the previous minimum version, 3.9, hit EOL
in October and is no longer receiving security fixes. 3.12 jumps a few
versions forward so I won't have to bump like this again for a bit,
and also appears to be supported relatively widely as a default
install version across modern OS installs.

Unlike last time I did a Python version bump, this time I
intentionally published a "broken" version that still claims 3.9
support (but will fail on startup), so if your CI is set up to use an
OS version that doesn't come with a sufficiently modern Python, you'll
get the broken version and see an error message asking you to upgrade
your Python. (Last time I didn't know to do this dance, so people on
old Pythons just got stuck on an old Bikeshed, too, and didn't know it
until I updated datafiles in a way that broke the old version).

(I'm pretty excited to get to use the new features from 3.10 through 3.12!)

~TJ

Received on Friday, 5 December 2025 22:17:37 UTC