Repository navigation
statifier_oban 0.17.0 release prep - #143
Merged
Merged
Conversation
Release prep only: the tag, the Hex publish and the GitHub release stay
outside this commit. A minor, not a patch: the release grows the set of
answers `StatifierOban.Timer.Delivery.deliver/2` may give by one member,
`{:snooze, seconds}` (the `snooze/0` type on the callback, taken by the
new `{:snooze, seconds} when is_integer(seconds) and seconds > 0` clause
of `StatifierOban.Timer.Worker.perform/1`), and removes and changes
nothing a host already relies on: a delivery that never snoozes gets
exactly the job outcomes it did before. No telemetry event name, reason
or outcome is added.
- mix.exs: @Version 0.16.0 -> 0.17.0
- CHANGELOG.md: new [0.17.0] 2026-09-28 section (the local date), the
sob-46l fragment's Added bullet carried over byte for byte under one
Added heading; no lead paragraph, since mix.exs carries no dependency
requirement move since 0.16.0 (mix.lock moved only the locked dev and
test versions of statifier, statifier_persistence and predicator, which
a host does not inherit) and the bullet says everything a host needs;
the header's changelog.d link moved from v0.16.0 to v0.17.0
- changelog.d/sob-46l.md: deleted, promoted into the section above; it
was the only fragment the directory held
- README.md: install pin `~> 0.16.0` -> `~> 0.17.0`, in the exact-minor
`~> X.Y.0` form the pre-1.0 banner recommends
Gate: `mix quality` green on this tree (format, compile, doc links,
deps, credo, docs, 313 of 313 tests / 97.1% coverage, dialyzer) under
the repo gate lock and a machine slot, held across the commit; the
staged tree is the tree that ran. `mix hex.build` succeeds at 0.17.0.
Refs: sob-l20
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_oban 0.17.0 (bead sob-l20). The tag and the Hex publish stay outside this PR: once it merges, the version is tagged
v0.17.0at the merge commit, and the publish is the maintainer's.What it changes
Exactly the files
.claude/wurk/release.mdnames for a release commit:mix.exs:@version0.16.0 -> 0.17.0CHANGELOG.md: a new## [0.17.0] 2026-09-28section (the local date) holding thechangelog.d/sob-46l.mdbullet byte for byte under### Added; no lead paragraph; the header'schangelog.d/link moved fromblob/v0.16.0toblob/v0.17.0(release.md step B.7)changelog.d/sob-46l.md: deleted, promoted above;changelog.d/now holds only itsREADME.mdREADME.md: install pin~> 0.16.0->~> 0.17.0The shape matches the last release prep,
d81ccf4(Releases v0.16.0).Why a minor
Since
v0.16.0the one host-visible change is additive:StatifierOban.Timer.Delivery.deliver/2may answer{:snooze, seconds}(the newsnooze/0type in its@callback), andStatifierOban.Timer.Worker.perform/1takes it in a new guarded clause and hands it to Oban unchanged. That grows the set of answers the callback accepts, so this is a minor. Nothing a host already relies on changes: a delivery that never snoozes gets the job outcomes it did before, and no telemetry event, reason or outcome is added (ADR-0010). The otherlib/changes sincev0.16.0are moduledoc and comment text inStatifierOban.Invoke.Handler,StatifierOban.TimerandStatifierOban.Timer.Delivery.mix.exsmoved no dependency requirement;mix.lockmoved only the locked development versions of statifier, statifier_persistence and predicator.Verification
mix qualitygreen on the committed tree: format, compile (warnings as errors), doc links, dependencies, credo, docs, tests 313 of 313 at 97.1% coverage, dialyzer. The gate ran on the staged tree that was committed (samegit write-tree), so the commit was made directly on that run.mix hex.buildbuilds statifier_oban 0.17.0.Review
Tier: contract (a release prep); the cold review is dispatched separately. My own read of the diff against the bead's acceptance:
@versionreads 0.17.0, the only fragment is promoted and deleted, the README pin reads~> 0.17.0, and no file outside the release recipe's list is touched. ADR-0010 keeps a dated line sayingmix.exsread 0.16.0 when it was written; records are append-only and it stays as written.