Prepares 0.9.0 - #140
Merged
Merged
Prepares 0.9.0#140
Conversation
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-xgi8) assembled into a `## [0.9.0] 2026-09-30` section under a
lead paragraph and an upgrading paragraph, and deleted in the same
commit, every bullet carried over byte for byte; the header's
`changelog.d/` link moved to `blob/v0.9.0`; and the README install pin
moved from `~> 0.8.0` to `~> 0.9.0`, as a minor
moves it.
A minor, because the release adds public surface and removes or
narrows none: `StatifierRouter.BasicHTTP`, `StatifierRouter.BasicHTTP.Front`,
`StatifierRouter.Schema.Location` and `StatifierRouter.Migrations.V04`
are new modules; `up_locations/1` and `down_locations/1` are new
functions; `:basichttp` is a new configuration key, which `new/1`
refused as unknown before, so every refusal it brings (the reserved
`basichttp` binding id, `{:exclusive_keys, :basichttp, :send_types}`,
`{:declared_send_types, type}` for either processor string) reaches
only a configuration that sets it. `up/1` and `down/1` walk the same
versions as in 0.8.0. The statifier floor moves from `~> 2.9` to
`~> 2.10`; the upgrading paragraph says a host still on statifier 2.9
upgrades statifier to take this release. The statifier_persistence
floor does not move.
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.0; 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 54f485d before and after the run), held
across this commit: format, compile, isolated tests, doc links, deps,
credo, docs, 420 of 420 tests at 97.7% coverage, dialyzer.
Refs: sr-gffo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepares 0.9.0
The release prep for statifier_router 0.9.0. It does the bump and the changelog promotion and nothing else, in the four files the release recipe names (
.claude/wurk/release.md, "The files a release commit touches"):mix.exs:@versiongoes from0.8.0to0.9.0.CHANGELOG.md: a## [0.9.0] 2026-09-30section directly below the header. It has a lead paragraph and an upgrading paragraph, then the one fragment's### Addedbullets carried over byte for byte. The header'schangelog.d/link moves toblob/v0.9.0(step 7).changelog.d/sr-xgi8.md: deleted. It was the only fragment added sincev0.8.0(git diff v0.8.0..origin/main --stat -- changelog.d).changelog.d/README.mdstays.README.md: the install pin goes from~> 0.8.0to~> 0.9.0, the exact-minor form.No tag and no publish. The merge and the annotated tag at the merge SHA belong to the conductor, and
mix hex.publishbelongs to the operator.mix hex.buildbuilds 0.9.0. The tar it wrote was deleted before the commit.Why a minor
git diff v0.8.0..origin/main --stat -- libis non-empty (the BasicHTTP front). Every public surface change sincev0.8.0adds something, and none removes or narrows anything:StatifierRouter.BasicHTTP,StatifierRouter.BasicHTTP.Front,StatifierRouter.Schema.LocationandStatifierRouter.Migrations.V04.StatifierRouter.Migrations.up_locations/1anddown_locations/1.:basichttp. Before this release,StatifierRouter.Config.new/1refused it as{:unknown_key, :basichttp}. So every new refusal the key brings reaches only a configuration that sets it: the reservedbasichttpbinding id,{:exclusive_keys, :basichttp, :send_types}and{:declared_send_types, type}for either processor string. A configuration without the key builds the same snapshot and reserves onlyexecution, as before.StatifierRouter.Config'stabletype andnew_errorunion grow by one member each (:locations, and the new exclusive-keys pair). Only a configuration or call that uses the new surface reaches either one.StatifierRouter.Migrations.up/1anddown/1walk the same versions as in 0.8.0. V04 is opt-in and outside the version walk.lib/changes are moduledoc text (Addresses,Schema,Schema.Id,SendHandler,Webhook, and theDeliverynote on the persistence reentrancy refusal) plus three code changes that run only for a configuration that sets:basichttp:Delivery.locate/3inserts a location row on an:if_absentinsert,create_options/2reads the new@doc falseConfig.create_persistence_options/2(which answers the configuration's persistence options unchanged when the key is unset), andMigrations.package_columns/2became a@doc falsepublic helper (a refactor of the existing column refusal). None changes what a configuration without the key sees.The statifier floor moves from
~> 2.9to~> 2.10. This does not break any API, but a host sees it: a host still on statifier 2.9 has to upgrade statifier to take this release. The lead's upgrading paragraph says so. The statifier_persistence floor does not move.The upgrading note
The step is in the changelog's upgrading paragraph, the same place the 0.8.0 section put its step:
:basichttpchanges nothing apart from the statifier floor.:basichttpand adds one migration callingup_locations/1, withdown_locations/1on rollback.The README's "Upgrading the tables" already carries the V04 migration with both calls, so the README gains nothing beyond the pin.
Gate
Full
mix qualityran on this exact tree (git write-tree54f485d8 before and after the run). The repo gate lock and a machine slot were held from the run through the commit. The run's output:The three skipped stages are tools this project does not install.
Refs: sr-gffo