Prepares 0.10.0 - #158
Merged
Merged
Prepares 0.10.0#158
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 three `changelog.d/` fragments on main
(sr-t36w, sr-7zxe, sr-d2j1) assembled into a `## [0.10.0] 2026-10-02`
section under a lead paragraph, ordered Added, Changed, Security, and
deleted in the same commit, every bullet carried over byte for byte;
the header's `changelog.d/` link moved to `blob/v0.10.0`; and the
README install pin moved from `~> 0.9.0` to `~> 0.10.0`, as a minor
moves it.
A minor, because the release adds public surface and removes or
narrows none: `:around_delivery` is a new configuration key, which
`new/1` refused as unknown before, so its door atoms, its
`{:invalid_value, :around_delivery, value}` refusal and its
`ArgumentError` reach only a configuration that sets it. Without it,
the answers are 0.9.2's; the router's own debug query log no longer
prints the location token, and a Postgres reap binds one array again.
No tag and no publish. `mix hex.build` builds 0.10.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 96129d1 before and after the run),
held across this commit: format, compile, isolated tests, doc links,
deps, credo, docs, 460 of 460 tests at 98.0% coverage, dialyzer.
Refs: sr-i8e5
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.
Release prep for statifier_router 0.10.0 (sr-i8e5): the bump and the changelog promotion, and nothing else. No tag and no publish here: the merge and the annotated
v0.10.0tag at the merge commit follow the tagging row ofCLAUDE.md's authority table;mix hex.publishis the operator's.What changes
The four entries of
.claude/wurk/release.md's file table, and no other file:mix.exs:@versionfrom0.9.2to0.10.0.CHANGELOG.md: a## [0.10.0] 2026-10-02section under a lead paragraph, its bullets carried over byte for byte from the fragments and ordered Added, Changed, Security; the header'schangelog.d/link moved toblob/v0.10.0.README.md: the install pin from~> 0.9.0to~> 0.10.0, as a minor moves it.changelog.d/sr-t36w.md,changelog.d/sr-7zxe.md,changelog.d/sr-d2j1.md: deleted, promoted.changelog.d/holds only its README.The version word: 0.10.0, a minor
The whole-delivery wrapper (
:around_delivery) is on main, so the release adds public surface and removes or narrows none; the version word follows the rule that the release is 0.10.0 when that option lands and 0.9.3 when it does not (ruled by the operator, 2026-10-01).The closed-set question
For every promoted fragment and every
lib/file changed sincev0.9.2(git diff v0.9.2..main --stat -- lib: ten files), does it grow a closed set or public union a host pattern-matches (an outcome, a refusal reason, a door atom, an event list), and does it change an existing answer for a configuration that sets no new option?doortype:route | :partition | :basichttp, the refusal{:invalid_value, :around_delivery, value}and the wrapper'sArgumentError, reachable only when:around_deliveryis setlib/statifier_router.exroute/3runs its work throughConfig.around_delivery/4, which calls the work directly when the key is unset; the rest is moduledoclib/statifier_router/addresses.exINlist elsewhere; counts unchangedlib/statifier_router/basic_http.exrotate_location/2's upsert gainslog: falselib/statifier_router/basic_http/front.exConfig.around_delivery/4(direct when unset); the token lookup gainslog: falselib/statifier_router/binding.exlib/statifier_router/broadway.exConfig.around_delivery/4(direct when unset), under the sameArgumentErrorrescuelib/statifier_router/config.exnew/1refused:around_deliveryas an unknown key beforenil) and refuses the same input in the same orderlib/statifier_router/delivery.exlog: false; the rest is moduledoclib/statifier_router/migrations.exlib/statifier_router/migrations/v04.exNothing changes for a configuration without the new key beyond the two changes the release rulings name (the query log and the Postgres reap statement), so the prep is not held. The lead says the token is gone from the router's own debug query log only: it is still in the execution's persisted state and in the query telemetry event.
Gate
Full
mix qualityon this exact tree under the repo gate lock and a machine slot, held across the commit (staged tree identical before and after the run, so the commit took no second run):mix hex.buildbuildsstatifier_router 0.10.0; the tar it wrote was deleted before the commit.Refs: sr-i8e5