Sitelet https://github.com/pathscale/ui/tags
Skip to content

Tags: pathscale/ui

Tags

v3.4.0

Toggle v3.4.0's commit message
chore(release): 3.4.0 [skip ci]

v3.3.1

Toggle v3.3.1's commit message
chore(release): 3.3.1 [skip ci]

v3.3.0

Toggle v3.3.0's commit message
chore(release): 3.3.0 [skip ci]

v3.2.5

Toggle v3.2.5's commit message
chore(release): 3.2.5 [skip ci]

v3.2.4

Toggle v3.2.4's commit message
chore(release): 3.2.4 [skip ci]

v3.2.3

Toggle v3.2.3's commit message
chore(release): 3.2.3 [skip ci]

v3.2.2

Toggle v3.2.2's commit message
chore(release): 3.2.2 [skip ci]

v3.2.1

Toggle v3.2.1's commit message
chore(release): 3.2.1 [skip ci]

v3.2.0

Toggle v3.2.0's commit message
chore(release): 3.2.0 [skip ci]

v3.1.0

Toggle v3.1.0's commit message
chore(release): 3.1.0

The value-change contract was meant to ship as 3.1, and the docs in the commit
before this one say so in seven places. The commit that carried the code said
something else: it was marked `feat!:`, and `scripts/next-version.ts` reads
that marker before it reads anything a human wrote. It computed a major and
published 4.0.0 over the intended number. 4.0.0 has since been unpublished.

That left the workflow armed to fail rather than merely wrong. Its recovery
mode is "the version in package.json is not on npm, so publish it as-is", and
with package.json still reading 4.0.0 the next push to master would have tried
to republish a version npm refuses permanently: an unpublished version can
never be republished, by anyone, ever. It would have failed closed on every
push until someone noticed the version line.

Writing the version here turns that same recovery mode into the right outcome.
The next push publishes 3.1.0 as written instead of computing anything, which
is what the mode is for.

It does have to be as-is. Computing would take the baseline from npm, which is
3.0.0, over a range that still contains the `feat!:` commit, and arrive back at
4.0.0. That only stops recurring once 3.1.0 is published and tagged, because
the marker then falls behind the baseline.

The guard this wants is that the marker outranks intent silently. A change
meant to land as a minor must not carry `!`, whatever the prose beside it says.