Skip to content

chore(release): 0.9.0 - #152

Merged
ZhuchkaTriplesix merged 28 commits into
mainfrom
dev
Oct 17, 2026
Merged

ZhuchkaTriplesix merged 28 commits into
mainfrom
dev

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

OxyJWT 0.9.0 Release

Summary of Changes

This release includes performance improvements, security hardening, and API enhancements:

  1. Security:

  2. Performance:

  3. API & Typing:

Verification

  • cargo test --manifest-path rust/Cargo.toml: 23 passed
  • cargo fmt --manifest-path rust/Cargo.toml --check: clean
  • cargo clippy --manifest-path rust/Cargo.toml --all-targets -- -D warnings: clean
  • pytest: 327 passed, 1 skipped, 0 failures
  • mypy python/oxyjwt tests/typing: 0 issues in 11 files
  • mkdocs build --strict -f docs-site/mkdocs.yml: cleanly built

ZhuchkaTriplesix and others added 28 commits October 16, 2026 22:04
security(jws): reject unrecognized crit header extensions (#132)
…ssuer

perf(api): extend decode fast-path for audience, issuer and subject (#136)
…on-perf

perf(claims): avoid serde_json::Value DOM allocation and manual PyDict construction (#137)
perf(jws): zero-copy header alg extraction in decode path
…ach-trim

perf(api): avoid redundant payload copy in encode_json and optimize py.detach on fast unverified paths
…zation

perf(keys): eliminate triple JSON round-trip in DecodingKey.from_jwk
docs: document encode_json, JWK fast-paths, crit enforcement, and update changelog
fix(api): export encode_json in top-level oxyjwt and add comprehensive tests
- Pre-encode standard base64 headers for all 12 supported algorithms to eliminate JSON serialization on encode with default headers
- Move validate_iat, validate_sub, and empty-audience aud verification into Rust
- Fast-path decode() without secondary Python-side default claim validation
- Remove dead _header_to_plain_dict helper in PyJWKClient
…lidation

- Add tests verifying static pre-encoded headers produce byte-identical tokens to custom headers
- Add test verifying Rust rejects non-string subject claims (int, list)
- Add test verifying Rust rejects unexpected aud claim when audience is None
…validation

perf(core): pre-encode static headers and move claim validations to Rust (#150)
- Bump package version to 0.9.0 in pyproject.toml, rust/Cargo.toml, rust/Cargo.lock, and python/oxyjwt/__init__.py
- Finalize 0.9.0 section in CHANGELOG.md and docs-site/docs/changelog.md
- Add release notes in .github/RELEASE_NOTES_v0.9.0.md
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit fca5521 into main Oct 17, 2026
18 checks passed
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