Skip to content

Prepares statifier_router 0.9.2 - #145

Merged
johnnyt merged 2 commits into
mainfrom
sr-ejg1-release-0-9-2
Sep 30, 2026
Merged

johnnyt merged 2 commits into
mainfrom
sr-ejg1-release-0-9-2

Conversation

@johnnyt

@johnnyt johnnyt commented Sep 30, 2026

Copy link
Copy Markdown
Member

Prepares statifier_router 0.9.2, a patch release: StatifierRouter.Addresses.reap/3 runs on SQLite.

Two commits:

  1. Corrects the reap fix's changelog fragment. The fragment said the Postgres-only = ANY(...) form failed every reap of a SQLite host. A reap that found no row to stamp or delete never reached that form: the private stamp/3 and delete/2 answered 0 for an empty list without a statement at v0.8.0 and v0.9.1, so that reap succeeded. The fragment now says the failure was any reap that found a row to stamp or delete.
  2. Prepares 0.9.2. mix.exs's @version to 0.9.2; the one fragment (sr-1rgb) promoted into a ## [0.9.2] 2026-09-30 section under a lead paragraph, its bullet carried over byte for byte, and deleted; the header's changelog.d/ link moved to blob/v0.9.2/changelog.d/README.md. The README install pin stays at ~> 0.9.0, as a patch leaves it. The release commit touches only mix.exs, CHANGELOG.md and the deleted fragment.

Why a patch

git diff v0.9.1..main -- lib changes one file, lib/statifier_router/addresses.ex: the private stamp/3 and delete/2 name their rows in an IN list (fragment("? IN (?)", a.id, splice(^batch))) instead of = ANY(...), a new private in_batches/2 writes more than 500 ids as batches of 500, and a private module attribute holds that size. reap/3's signature, spec, options and result are unchanged; no module, function, option or migration version is added; a Postgres host sees the same counts. ecto_sqlite3 is a test-only dependency and does not ship. The one fragment is under Fixed.

Verification

Full mix quality green under the repo gate lock and a machine slot, on the exact tree of the release commit, held across the commit: format, compile, isolated tests, doc links, deps, docs, credo, 425 of 425 tests at 97.7% coverage, dialyzer. mix hex.build builds 0.9.2 (the tar was deleted).

No tag and no publish here: the merge and the annotated v0.9.2 tag at the merge commit follow on green; mix hex.publish is the operator's.

The fragment said the Postgres-only `= ANY(...)` form failed every reap
of a SQLite host. A reap that found no row to stamp or delete never
reached that form: the private stamp/3 and delete/2 answered 0 for an
empty list without a statement, from 0.8.0 to 0.9.1, so that reap
succeeded. The fragment now says the failure was any reap that found a
row to stamp or delete, and that a reap with nothing to write sent no
statement.

Refs: sr-ejg1
The bump and the changelog promotion, and nothing else: `mix.exs`'s
`@version`, which `StatifierRouter.version/0` and the docs'
`source_ref` both read; the one `changelog.d/` fragment on main
(sr-1rgb, as corrected by the commit before this one) assembled into a
`## [0.9.2] 2026-09-30` section under a lead paragraph, and deleted in
the same commit, its bullet carried over byte for byte; and the
header's `changelog.d/` link moved to `blob/v0.9.2`. The README install
pin stays at `~> 0.9.0`, as a patch leaves it.

A patch, because nothing grows or changes a public surface: since
v0.9.1, lib/ changes only `StatifierRouter.Addresses`'s private
`stamp/3` and `delete/2`, which name their rows in an IN list instead
of `= ANY(...)` and write more than 500 ids in batches of 500, a new
private helper `in_batches/2` and a private module attribute. `reap/3`'s
signature, spec, options and result are unchanged, no module, function,
option or migration version is added, and a Postgres host sees the same
counts. `ecto_sqlite3` is a test-only dependency and does not ship.

No tag and no publish: the merge and the tag are the conductor's, the
publish the operator's. `mix hex.build` builds 0.9.2; the tar it wrote
was deleted before this commit.

Full `mix quality` green under the repo gate lock and a machine slot on
this exact tree (write-tree bd60d3a before and after the run), held
across this commit: format, compile, isolated tests, doc links, deps,
docs, credo, 425 of 425 tests at 97.7% coverage, dialyzer.

Refs: sr-ejg1
@johnnyt
johnnyt merged commit 467c36d into main Sep 30, 2026
1 check passed
@johnnyt
johnnyt deleted the sr-ejg1-release-0-9-2 branch September 30, 2026 20:07
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