Skip to content

Prepares the 0.1.0 release - #31

Merged
johnnyt merged 1 commit into
mainfrom
srb-xqq-release-0-1-0
Oct 25, 2026
Merged

johnnyt merged 1 commit into
mainfrom
srb-xqq-release-0-1-0

Conversation

@johnnyt

@johnnyt johnnyt commented Oct 25, 2026

Copy link
Copy Markdown
Member

Release prep for statifier 0.1.0 (bead srb-xqq). The version is 0.1.0, ruled by the operator, 2026-10-23; it replaces the 0.0.1 stub of 2019, the only version on rubygems.org today. This PR is the prep only: it does not tag and does not publish. Once it is merged, the merged commit is tagged v0.1.0 after the maintainer's trusted-publisher step, and release.yml publishes on that tag push.

What changes

  • Statifier::VERSION is 0.1.0 (was 0.1.0.pre); Gemfile.lock moves its path entry with it, as the bundle's deployment mode requires.
  • CHANGELOG.md gains ### 0.1.0 / 2026-10-24 below ### Upcoming: a lead paragraph (the engine, Ruby 3.3 and later, predicator >= 2.0, < 3, the corpus tag v2.16.0 with its hash, the four claims scion, statifier, w3c-mandatory, w3c-optional over 320 registry entries), then Added and Changed. The old "rewrite in progress" bullet under ### Upcoming is removed because it would be false once released.
  • The README install pin is ~> 0.1.0. The previous ~> 0.1 also admitted later minor versions, which the sentence beneath it did not say.
  • The nine fragments under changelog.d/ are promoted and deleted: srb-1xq, srb-3fj, srb-516, srb-6m7, srb-7is, srb-a5m, srb-dq7, srb-lkl, srb-x2q. They held 25 bullets (2, 4, 3, 1, 1, 3, 2, 6, 3 in that order); the section carries 24, 21 under Added and 3 under Changed. The one bullet left out is the third of srb-a5m, which says the request and send-key helpers of the Basic HTTP processor, Effect.frozen_copy and Event#system_value are "no longer public": a first release has no earlier public state for them to leave, and none of them is in the public surface listing.
  • Two stale texts follow the version: the module comment in lib/statifier.rb and the version named in CLAUDE.md's description of the tree. test/version_test.rb asserts 0.1.0, with its sabotage note updated.

Names in the section

Every Statifier constant and call the section names was resolved against the interpreter with both entry points loaded (require "statifier" and require "statifier/basichttp"), public constants only, and compared with the listing in test/surface_test.rb: all resolve, and the section names no private class.

Checks

  • Full gate (rake): rubocop clean, corpus check at v2.16.0 with the hash the manifest records, registry 320 entries passing, 702 tests with 0 failures, 0 errors, 0 skips; line coverage 99.83 percent, branch 96.57 percent.
  • gem build statifier.gemspec builds statifier-0.1.0.gem with one warning: homepage_uri and source_code_uri carry the same address, so rubygems.org shows only the first. It is the gemspec as it stands on main, not changed here. The built file holds lib/**/*.rb (96 files), README.md, CHANGELOG.md and LICENSE, 99 in all, and nothing from test/ or conformance/. The built file was deleted.
  • rubygems.org, read before the commit: api/v1/gems/statifier.json answers version 0.0.1 as the latest; api/v2/rubygems/statifier/versions/0.1.0.json answers 404.
  • release.yml header, read against this release: every sentence is literally true of a v0.1.0 tag on a commit on main whose Statifier::VERSION is 0.1.0, with 0.1.0 absent from rubygems.org, mise.toml pinning Ruby 4.0.7, the gate command read from .claude/wurk.json and the Rakefile's release guard as described. Not checked here: what rubygems/release-gem does internally (its git configuration and tag fetch), which the header only names. No workflow change.
  • Id scan over the diff clean with its controls firing; the pre-push pattern scan clean over the added lines and the commit message.

Provenance

The version is ruled by the operator, 2026-10-23. The README pin form ~> 0.1.0, leaving the third a5m bullet out and leaving ### Upcoming empty are choices made in this prep; each is reversible before the merge.

Sets Statifier::VERSION to 0.1.0, which replaces the 0.1.0.pre of the
development head, and moves the lockfile's path entry with it. The
changelog gains its first version section: the fragments are assembled
under Added and Changed, with a lead paragraph naming the engine, the
Ruby and predicator floors, the corpus tag with its hash and the four
conformance claims, and the fragments are deleted.

The one fragment bullet that named members outside the public surface
(the request and send key helpers a first release never exposed) is
not carried over, and the section names no private class.

The README pins the install constraint to the 0.1.0 series, so it
excludes the 2019 stub and later minor versions alike. Two sentences
that described the head as unreleased now describe it as the 0.1.0
rewrite, and the version test asserts the release version.

Refs: srb-xqq
@johnnyt
johnnyt merged commit 73db3c7 into main Oct 25, 2026
4 checks passed
@johnnyt
johnnyt deleted the srb-xqq-release-0-1-0 branch October 25, 2026 00:04
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