Skip to content

chore: re-enable the semver check and pin the readme example - #88

Merged
polaz merged 2 commits into
mainfrom
chore/#84
Sep 20, 2026
Merged

polaz merged 2 commits into
mainfrom
chore/#84

Conversation

@polaz

@polaz polaz commented Sep 20, 2026

Copy link
Copy Markdown
Member

Summary

Two loose ends from the 4.0.0 release, both scoped to the release machinery rather than the crate itself.

Re-enable the semver check (#84). cargo-semver-checks compiles the baseline from crates.io, and every version up to 3.0.2 rejects the feature set it uses (both JWT backends at once), so the check could not pass no matter what the working tree looked like. #85 shipped the fix; 4.0.0 is the first published version whose baseline builds, so the semver_check = false escape hatch has done its job and comes out.

Pin the README example (#87). The injected-verifier snippet asked for version = "3" while illustrating with_token_verifier, which only exists from 4.0.0. docs.rs renders this README as the crate's landing page, so the first snippet a reader copies resolved to a version without the method the surrounding prose describes.

Testing

$ cargo semver-checks --baseline-version 4.0.0
    Building structured-proxy v4.0.0 (baseline)
       Built [  39.945s] (baseline)
    Checking structured-proxy v4.0.0 -> v4.0.0 (no change; assume patch)
     Checked [   0.057s] 223 checks: 223 pass, 31 skip
     Summary no semver update required

The baseline now compiles under the heuristic feature set, which is exactly what failed before #85. No crate code changed in this PR.

Closes #84
Closes #87

The baseline it compiles comes from the registry, and 4.0.0 is the first
published version whose feature set builds: every earlier one rejected
having both JWT backends on, which is what the check enables.

Verified against the new baseline: 223 checks, all pass.

Closes #84
The injected-verifier snippet still asked for 3.x, while the API it
illustrates (`with_token_verifier`) only exists from 4.0.0 on. docs.rs
renders this README as the crate's landing page, so the example a reader
copies first resolved to a version without the method around it.

Closes #87
@coderabbitai

coderabbitai Bot commented Sep 20, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: c6f4c61e-d980-440f-b479-a7e5b18d4e36

📥 Commits

Reviewing files that changed from the base of the PR and between 12765f5 and b1c40f0.

📒 Files selected for processing (2)
  • README.md
  • release-plz.toml
💤 Files with no reviewable changes (1)
  • release-plz.toml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Summary

Summary by CodeRabbit

  • Documentation

    • Updated the README dependency example to use structured-proxy version 4 for builds with default features disabled.
  • Chores

    • Restored the standard semantic versioning check in the release configuration while preserving the existing Git tag format.

Walkthrough

The README dependency example now targets version 4. The release-plz configuration no longer disables semantic version checks.

Changes

Release updates

Layer / File(s) Summary
Version 4 dependency example
README.md
The default-features-disabled dependency example now uses structured-proxy version 4.
Semantic version validation
release-plz.toml
The semver_check = false override and its explanatory comment were removed. The default semantic version check behavior applies.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other · Severity of issue fixed: Medium

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies both main changes: re-enabling the semver check and pinning the README example.
Description check ✅ Passed The description directly explains the release configuration change, the README update, the rationale, and the validation performed.
Linked Issues check ✅ Passed The changes satisfy the coding objectives in #84 and #87. release-plz.toml no longer contains a semver_check override. The PR summary reports that cargo semver-checks --baseline-version 4.0.0 pa…
Out of Scope Changes check ✅ Passed The changes are limited to release-plz.toml and the README dependency example. Both changes directly implement #84 or #87. No unrelated crate code or unrelated behavior changes are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 20, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-20T20:26:32.676295Z b1c40f0 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@greptile-apps

greptile-apps Bot commented Sep 20, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

Safe to merge; no blocking behavior was reproduced.

What we checked:

  • Configured and executed an external consumer with structured-proxy version 4, default-features disabled, and the Redis feature using an injected TokenVerifier, verified that JWT-mode without an injected verifier results in the expected no-crypto-backend error, and confirmed the consumer dependency graph contains no jsonwebtoken. T-Rex
  • Executed the injected-verifier main and its runner, and observed that both baseline and injected runs exited with code 0; the injected path produced the expected 200/401/403/401 outcomes, and cargo tree --invert jsonwebtoken reported that no package matched. T-Rex
Summary

No issues found. The release updates the package to 4.0.0, documents the injected token-verifier configuration, and adds build coverage for the supported crypto feature combinations. An external consumer using the documented no-default-features configuration successfully injected a verifier and retained authentication, authorization, and claim-forwarding behavior.

Reviews (1) · Last reviewed commit: "docs: pin the readme example to the curr..."

@polaz
polaz merged commit 75f8009 into main Sep 20, 2026
7 checks passed
@sw-release-bot sw-release-bot Bot mentioned this pull request Sep 20, 2026
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.

docs: pin the README example to the release it ships with chore: re-enable the release-plz semver check once the baseline builds

1 participant