Skip to content

Cut 0.3.0 - #23

Merged
contrasam merged 2 commits into
mainfrom
claude/gumbo-release-0.3.0
Jul 26, 2026
Merged

Cut 0.3.0#23
contrasam merged 2 commits into
mainfrom
claude/gumbo-release-0.3.0

Conversation

@contrasam

Copy link
Copy Markdown
Collaborator

Release prep for 0.3.0. Everything from #7 through #14 is on main; this bumps the version, rewrites the changelog, and raises the mutation ratchet.

Changes

File What
pom.xml 0.2.00.3.0; mutation ratchet 7576
CHANGELOG.md [Unreleased] rewritten as [0.3.0] — 2026-07-26
README.md Maven/Gradle install snippets and the mvn package output name

The changelog is rewritten, not renamed

[Unreleased] had accumulated per-PR entries and was missing work that landed without touching it — the subscription delivery rewrite (#10), the close() contract (#11), and most of the fixes that came out of review on #13.

That mattered enough to redo rather than tidy. A release note that omitted ordered delivery and a now-blocking close() would have been misleading about behaviour a caller can observe. Both are in Changed — breaking now, alongside the localId rename and the conditional-append signature.

It's ordered by what someone upgrading needs first: breaking, then added, then fixed. Several of the fixes were silent failures — data lost or duplicated with no error — so each entry says what was wrong, not just what changed. Someone deciding whether they were affected needs the symptom:

Entries appended during a subscriber's backlog delivery were silently dropped. The backlog read had already happened and the live path skipped not-yet-ready subscribers, so the entry arrived by neither route — no error, no retry, nothing logged.

Two known limitations are carried into the release rather than dropped at the door: the multi-tag version (needs a record layout change and a log migration) and the batching adapter's unbounded buffer under sustained write failure.

Mutation ratchet 75 → 76

Measured on main after #13: 422/553, test strength 82%. Raising it when the number rises is the point of a ratchet — leaving it at 75 would quietly bank the improvement as slack. Verified passing at 76.

212 tests, 0 failures.

Publishing — needs a tag after merge

JitPack builds from tags, and the existing convention is a bare version tag (0.2.0, no v prefix). So once this merges:

git tag 0.3.0 <merge-commit>
git push origin 0.3.0

I can push that tag once the merge lands — it has to point at the merge commit, so it can't be created ahead of time. Consumers then get com.github.CajunSystems:gumbo:0.3.0.

What this unblocks

Catalyst's D4 — the bug that started the whole report. Its GumboEventLog passes a per-execution cursor into a seqnum-keyed read, which double-counts through the snapshot warm path (43 steps vs 51). The fix is readFromVersion, shipped here but unusable until Catalyst can depend on a released Gumbo.


Generated by Claude Code

Version to 0.3.0, README install snippets and package command with it.

The changelog is rewritten rather than renamed. The Unreleased section had
accumulated per-PR entries and was missing the work that landed without
touching it — the subscription delivery rewrite, the close() contract, and
most of the fixes that came out of review. A release note that omitted
ordered delivery and a now-blocking close() would have been misleading about
the behaviour changes, since both are things a caller can notice.

It is organised by what a reader upgrading needs first: breaking changes,
then additions, then fixes. Several of the fixes were silent failures — data
lost or duplicated with no error — so each says what was wrong as well as
what changed. Someone deciding whether they were affected needs the symptom,
not the patch.

Two known limitations are carried forward rather than dropped at release:
the multi-tag version, which needs a record layout change and a log
migration, and the batching adapter's unbounded buffer under sustained write
failure.

The mutation ratchet moves 75 to 76, the score measured on main after #13.
Raising it when the number rises is the point of a ratchet; leaving it at
the old value would quietly bank the improvement as slack.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01May7agoupeXATCaWSDttAW
@greptile-apps

greptile-apps Bot commented Jul 26, 2026

Copy link
Copy Markdown

Greptile Summary

Release preparation for Gumbo 0.3.0:

  • Updates the project version and installation/build examples from 0.2.0 to 0.3.0.
  • Rewrites the changelog to document the release’s breaking changes, additions, fixes, and known limitations.
  • Raises the PIT mutation threshold to 76 and corrects the documented mutation-count floor.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
pom.xml Bumps the release version and mutation threshold while correcting the previously reported headroom calculation.
CHANGELOG.md Replaces the accumulated unreleased notes with structured release notes for version 0.3.0.
README.md Updates Maven, Gradle, and packaged JAR examples to reference version 0.3.0.

Reviews (2): Last reviewed commit: "Recompute the mutation headroom against ..." | Re-trigger Greptile

Comment thread pom.xml Outdated
The baseline line was updated to 421/553 and the headroom sentence below it
was not, so it still read the boundary as 363 and 362 — counts from when the
denominator was 486. Against 553 those are about 66%, which would have told
a maintainer the gate had roughly sixty mutants of slack when it has three
or four.

Recomputed: PIT compares a rounded integer, so the floor at a threshold of
76 is 418, which reports 76 and passes, against 417, which reports 75 and
fails. The comment now says that, notes the count varies by one between runs
from timing-sensitive tests in the service package, and says explicitly that
the floor has to be recomputed whenever the threshold is raised, since it
moves with the denominator — which is exactly what went stale here.

Comment only; the threshold and its behaviour are unchanged, and the run on
this branch already passes at 76 with 422 killed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01May7agoupeXATCaWSDttAW
@contrasam
contrasam merged commit 47db570 into main Jul 26, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants