Skip to content

release: 3.1.0 - #202

Merged
raspbeguy merged 1 commit into
mainfrom
release/v3.1.0
Oct 11, 2026
Merged

raspbeguy merged 1 commit into
mainfrom
release/v3.1.0

Conversation

@raspbeguy

@raspbeguy raspbeguy commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Release 3.1.0. This PR sets VERSION to 3.1.0, regenerates the spec, turns ## [Unreleased] into ## [3.1.0] - 2026-10-11, and adds "Shipped in 3.1.0" to the roadmap. Nothing else changes.

What is in 3.1.0

The full list is in the [3.1.0] section of CHANGELOG.md, and scripts/release-notes.sh turns that section into the GitHub Release body.

Pre-release checklist

Item State
Candidate sweep Done. dhcp/hosts.match_tag was eligible and is in (#199). Two stale roadmap entries were fixed (#200). No open issues, PRs or due deprecations.
VERSION matches the tag 3.1.0
info.version in the spec 3.1.0 (make openapi-check)
scripts/changelog-missing.sh v3.0.0 prints nothing, [Unreleased] renamed yes
Versions announced ahead of time none: no doc names 3.1.0
make test coverage green: 1287 tests, direct coverage 80.6%
CI green on the commit to tag green on this PR (unit, lint, integration). main runs again after the merge, before the tag
.github/release-signers.asc holds the signing key yes: E4B5C3548E3CFB30, present on the maintainer machine
build/sdk.sha256 pins all four arch SDKs unchanged since 3.0.0; OPENWRT_VERSION is still 25.12.5
verify-arch-build dispatch green on this branch (run 38090362982): aarch64_generic, arm_cortex-a7 and mips_24kc all built

Does this change the wire surface?

The release itself does not: it only carries the version bump. The wire changes it ships are additive (system/cron_jobs, dhcp/hosts.match_tag), plus one tightening: dhcp/hosts.name and tag now refuse a comma, a double quote, a #, a control character and a blank value. That uses the carve-out in docs/versioning.md and has a Security entry, because each refused value broke dnsmasq or injected config. So this is a minor release.

Was it verified against a real device, or only by CI?

Both. On the test VM (OpenWrt 25.12.5), with the full main tree deployed:

The whole series was then reviewed as one diff, from v3.0.0 to main. That review found the four problems fixed in #198, and the review of #199 found the problems fixed in its second commit.

The live router was not touched.

Was LuCI checked?

Per change, in each PR. Not applicable to the release commit itself.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@raspbeguy raspbeguy added the changelog-not-needed Nothing outside the repo changes, so no CHANGELOG.md entry is needed label Oct 10, 2026
@raspbeguy
raspbeguy merged commit 6e92e0f into main Oct 11, 2026
16 checks passed
@raspbeguy
raspbeguy deleted the release/v3.1.0 branch October 11, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog-not-needed Nothing outside the repo changes, so no CHANGELOG.md entry is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant