Repository navigation
v0.124.2
The committed strictspec validators are regenerated for the generated-code-format pairing, so a fresh install imports them.
Context
rlsbl's committed strictspec validators used to pair with the exact strictspec
release that generated them, so a fresh install resolving a newer strictspec
runtime raised at import before rlsbl could run at all. strictspec 0.3.0 moved
the pairing onto a generated-code FORMAT -- an integer describing the shape of
the emitted code, held against the inclusive range every runtime declares -- and
these validators are regenerated onto it. An install that resolves a later
strictspec now imports them unchanged.
The check that policed the old pairing went with it. strictspec-generated-floor
derived a strictspec>= floor from each validator's GENERATED_BY and refused
anything lower, which under the format regime would demand a regeneration and a
re-release of every consumer on every strictspec release -- the outage the
format declaration exists to end. strictspec-generated-format replaces it: it
reads each committed validator's GENERATED_CODE_FORMAT against the range the
installed runtime reads, names the file when one is outside it, and names
regeneration as the remedy. No dependency floor is derived from GENERATED_BY
anywhere.
Fixes
- Installing rlsbl no longer fails at import against a newer strictspec, and the check that policed the old pairing is now
strictspec-generated-format. rlsbl's committed strictspec validators are regenerated to pair on the generated-code format rather than on the exact strictspec release, so a fresh install that resolves a newer strictspec runtime imports them instead of raising. The check that used to derive astrictspec>=floor from each validator'sGENERATED_BYis replaced:strictspec-generated-formatreads each committed validator'sGENERATED_CODE_FORMATagainst the range the installed runtime reads, names the file when one is outside it, and tells you to regenerate withstrictspec gen. A project pinning the old name in a--namefilter or a hook renames it.