Skip to content

chore(release): prepare 2.2.0#104

Merged
wolpert merged 1 commit into
mainfrom
chore/release-prep-2.2.0
Jun 28, 2026
Merged

chore(release): prepare 2.2.0#104
wolpert merged 1 commit into
mainfrom
chore/release-prep-2.2.0

Conversation

@wolpert

@wolpert wolpert commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Release-prep for 2.2.0. No functional code changes — @since corrections, version bump, and the changelog entry. The actual fixes already landed on main after v2.1.0; this PR makes the tree releasable.

What's in this PR

  • Version: 2.1.0-SNAPSHOT2.2.0-SNAPSHOT (the post-2.1.0 dev-line bump was missed when v2.1.0 was tagged).
  • @since hygiene: 11 public API elements introduced after v2.1.0 were annotated @since 2.1.0 (now inaccurate, since 2.1.0 shipped) → corrected to @since 2.2.0. The 9 genuine 2.1.0 markers (in files unchanged since the tag) are untouched. Verified by per-file diff against v2.1.0.
  • CHANGELOG: new ## [2.2.0] entry.

Why 2.2.0 (minor), not 2.1.1 (patch)

The unreleased delta since v2.1.0 is not purely backward-compatible:

  • ⚠️ Breaking SPI change: OtpRepository.findLatestActive gains a required Instant now parameter — direct SPI implementers must update.
  • Schema migration: new Flyway V11 (challenges.user_verification).
  • New public API (MagicLinkService.DEFAULT_AUDIENCE / ofDedicatedAudience, ChallengeRecord UV field, CeremonyResponse.headers()).

Release contents (security-and-correctness)

Two adversarial-review rounds: magic-link replay / dedicated-audience / email-binding fixes, server-side per-request UV enforcement, JWT claim-override + OTP brute-force hardening, DynamoDB/JDBI correctness fixes, and Retry-After on ceremony 429s. See the CHANGELOG entry for the full list.

After merge

Tag v2.2.0 to trigger the publish workflow (it strips -SNAPSHOT at build time).

🤖 Generated with Claude Code

- Bump version 2.1.0-SNAPSHOT -> 2.2.0-SNAPSHOT (the post-2.1.0 development
  line open was missed after v2.1.0 was tagged).
- Correct @SInCE on the 11 public API elements introduced after v2.1.0 from
  2.1.0 to 2.2.0 (the 9 genuine 2.1.0 markers in files unchanged since the
  tag are left as-is).
- Add the 2.2.0 CHANGELOG entry: a security-and-correctness release
  (magic-link replay/audience/email-binding, per-request UV enforcement, JWT
  claim-override + OTP brute-force fixes, DynamoDB/JDBI correctness,
  Retry-After on ceremony 429s). Notes the one breaking SPI change
  (OtpRepository.findLatestActive gains an Instant now param) and Flyway V11.

Tagging v2.2.0 triggers the publish workflow.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@wolpert
wolpert enabled auto-merge (rebase) June 28, 2026 03:57
@wolpert
wolpert merged commit 2e6170d into main Jun 28, 2026
8 checks passed
@wolpert
wolpert deleted the chore/release-prep-2.2.0 branch June 28, 2026 03:58
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