Skip to content

Releases v0.23.1 - #245

Merged
johnnyt merged 2 commits into
mainfrom
sp-zllw-release-0-23-1
Sep 30, 2026
Merged

johnnyt merged 2 commits into
mainfrom
sp-zllw-release-0-23-1

Conversation

@johnnyt

@johnnyt johnnyt commented Sep 30, 2026

Copy link
Copy Markdown
Member

Release prep for statifier_persistence 0.23.1 (sp-zllw). Bump and changelog promotion, plus the upgrading page's 0.23.1 subsection in a commit of its own ahead of the release commit; the tag follows the merge and is not made here, and the publish is the operator's.

What changes

Commit "Carries the 0.23.1 patch in the upgrading page":

  • docs/upgrading.md: the "0.22 to 0.23" section's existing text moves, unchanged, under a new ### 0.23.0 heading, and a ### 0.23.1 subsection follows it saying a host changes nothing, the way "0.14 to 0.15" places 0.15.0 and 0.15.1. Additions only. The page's title, opening pin list and schema sentence are not touched.

Commit "Releases v0.23.1":

  • mix.exs: @version 0.23.0 to 0.23.1.
  • README.md: not edited. The install pin stays ~> 0.23.0, which already admits a patch; .claude/wurk/release.md says only a major or minor moves it.
  • CHANGELOG.md: a new ## [0.23.1] 2026-09-29 section with a lead paragraph and an upgrade note, then the fragment's one Fixed bullet byte for byte; the header's changelog.d/ link moves from v0.23.0 to v0.23.1.
  • changelog.d/sp-gbyk.md: deleted, the only fragment on main. changelog.d/README.md stays.

The release commit touches no file outside .claude/wurk/release.md's list. The upgrading edit is outside that list, so it is its own commit.

Why a patch

The fix is in StatifierPersistence.Testing.StorageConformance, which ships in lib/ and which a host runs, so it is host-visible and the patch is cut (ruled by the operator, 2026-09-29). Read in git diff v0.23.0..origin/main -- lib:

  • lib/statifier_persistence/testing/storage_conformance.ex: the suite's using block derives @conformance_hash_suffix from the using module's name, and every hash a case retires carries it, including the private own_chart_a/0 for the tombstone-check case. Case names and what each case asserts are unchanged. Fragment sp-gbyk.md.
  • lib/statifier_persistence/executions.ex: one comment above batch_one/3 rewords a record citation; no code changes.

Closed-set question: none. No refusal, reason or outcome union, event list, enum or public option gains a member in that diff; Executions.error/0, Storage.error/0, the adapter behaviour's callbacks and telemetry events/0 are unchanged. No schema migration; the statifier floor stays ~> 2.9.

Verification

  • Full mix quality green on the release commit's tree, which carries the upgrading commit too: format, compile with warnings as errors, doc links, deps, docs, credo, 1,347 of 1,347 tests at 95.8% coverage, dialyzer; Postgres on 5432. The release commit was made on a staged tree byte-identical (git write-tree) to the tree the gate ran green on, with the repo gate lock and a machine slot held across both. The upgrading commit touches no Elixir code.
  • mix hex.build builds statifier_persistence 0.23.1.
  • The fragment's bullet is present byte for byte in the new section; the one removed CHANGELOG.md line is the header link moved to v0.23.1; no line of a published section is removed; changelog.d/ holds only its README.

Own review

Checked the lead paragraph and the upgrading subsection against main: the deadlock, its 40P01 answer and the cases it reached are the ones the sp-gbyk.md bullet states; the per-module hashes are @conformance_hash_suffix in storage_conformance.ex; the package's own adapters are unchanged because the only other lib/ change is a comment. The heading has no dash separator and carries the local date; no link-reference block is added.

The upgrading page places a patch as its own subsection under the
minor's section, as "0.14 to 0.15" does for 0.15.0 and 0.15.1. The
"0.22 to 0.23" section's existing text moves under a "0.23.0" heading
unchanged, and a "0.23.1" subsection says what a host changes: NONE.
A host that runs the shipped conformance suite from two or more async
modules against one Postgres database no longer meets the deadlock,
because each using module now retires chart hashes of its own.

The page's title, its opening pin list and its schema sentence are
left as they are; carrying them forward is another bead's work.

A change touching no Elixir code; the full gate runs on the release
commit's tree, which carries this one.

Refs: sp-zllw
Bumps @Version to 0.23.1. The README install pin stays `~> 0.23.0`,
which already admits a patch; only a major or minor moves it.

A patch, not a minor: the one fix since v0.23.0 is in the shipped
conformance suite, which a host runs, so it is host-visible and cut
(ruled by the operator, 2026-09-29). No closed set a host matches
grows. Read in the lib/ diff since v0.23.0:

- StatifierPersistence.Testing.StorageConformance derives a hash
  suffix from the using module's name (@conformance_hash_suffix in its
  `using` block) and retires only hashes carrying it, including a
  private own_chart_a/0 for the tombstone-check case. The suite's case
  names and what each case asserts are unchanged. Fragment sp-gbyk.md.
- executions.ex changes one comment in batch_one/3 and nothing else.

Executions.error/0, Storage.error/0, the adapter behaviour's callbacks
and telemetry events/0 are unchanged. No runtime floor moves: the
statifier floor stays ~> 2.9. docs/upgrading.md carries the 0.23.1
subsection in the commit before this one.

Promotes changelog.d/sp-gbyk.md (Fixed) into a `## [0.23.1] 2026-09-29`
section and deletes the file. The bullet is carried over byte for
byte; the lead paragraphs are the only prose written here: the release
kind and the upgrade note. The heading carries no `-` separator and the
date is this machine's local date. The header's changelog.d/ link moves
to v0.23.1. No link-reference block is added. No published section is
edited.

Gate: full `mix quality` green on this exact staged tree, write-tree
c722cb6 (format, compile with
warnings-as-errors, doc links, deps, docs, credo, 1,347 of 1,347 tests
at 95.8% coverage, dialyzer), with the repo gate lock and a machine
slot held across the run and this commit; Postgres answered on 5432.
`mix hex.build` built statifier_persistence 0.23.1.

No tag, no publish.

Refs: sp-zllw
@johnnyt
johnnyt merged commit 4ae883c into main Sep 30, 2026
1 check passed
@johnnyt
johnnyt deleted the sp-zllw-release-0-23-1 branch September 30, 2026 01:26
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.

1 participant