Skip to content

Comments

Release v0.5.0#81

Merged
bug-ops merged 2 commits intomainfrom
release/v0.5.0
Jan 26, 2026
Merged

Release v0.5.0#81
bug-ops merged 2 commits intomainfrom
release/v0.5.0

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Jan 26, 2026

Summary

Minor release with zero-cost GAT migration, comprehensive security hardening, and generic type system refactoring.

Key Changes

Performance

  • Zero-Cost GAT Migration: Complete removal of async_trait overhead (1.82x faster)
    • 11 async_trait traits removed, 8 new GAT traits added
    • Static dispatch replaces dynamic dispatch
    • Zero heap allocations in async operations

Security

  • Phase 1 & 2 Security Hardening: DoS protection and input validation
    • Bounded iteration: MAX_SCAN_LIMIT (10,000) prevents unbounded iteration
    • Input validation: Multi-layer validation for pagination, query criteria, filters
    • Memory protection: Bounded HashMap allocation, stats caching with 5s TTL
    • Type safety: saturating_f64_to_u64() handles edge cases

Infrastructure

  • Generic Type System Refactoring:
    • Generic Id and IdDto wrappers
    • Generic InMemoryStore<K, V>
    • gat_port! macro for declarative GAT traits

Code Quality

  • Zero clippy warnings
  • Clean Architecture compliance
  • 2,593 tests passing (87.35% coverage)

Breaking Changes

  • async_trait removal: Replace CacheRepository with CacheGat, StreamSessionRepository with StreamRepositoryGat
  • Error types: NotFound errors replace empty results

Migration Guide

See CHANGELOG.md for detailed migration instructions.

Test Plan

  • All 2,593 tests passing
  • Zero clippy warnings
  • Code formatted with nightly rustfmt
  • Security integration tests (367 tests)
  • Cross-platform validation (Linux, macOS, Windows)

- Bump version from 0.4.7 to 0.5.0 across workspace
- Add comprehensive v0.5.0 CHANGELOG entry
  - Security hardening (Phase 1 & 2)
  - Zero-cost GAT migration (1.82x performance improvement)
  - Generic type system refactoring
  - 2,593 tests passing with 87.35% coverage
- Update unreleased section for v0.6.0 planning
Remove version-specific and frequently-changing information:
- Test count references (2,593 tests, 44 tests, etc.)
- Coverage percentage (87.35%)
- Keep only stable, general descriptions

README should contain general functionality overview with parameters
that rarely change.
@github-actions github-actions bot added documentation Documentation updates, README, guides dependencies Dependency updates (Cargo.toml, Cargo.lock) security Security issues or improvements rust Rust language specific changes labels Jan 26, 2026
@codecov-commenter
Copy link

codecov-commenter commented Jan 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #81      +/-   ##
==========================================
+ Coverage   81.83%   81.93%   +0.10%     
==========================================
  Files          90       90              
  Lines       25205    25205              
==========================================
+ Hits        20626    20652      +26     
+ Misses       4579     4553      -26     
Flag Coverage Δ
pjs-core 81.51% <ø> (+0.11%) ⬆️
pjs-domain 86.00% <ø> (ø)
pjs-wasm 82.75% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 787a93b...9e45a60. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@bug-ops bug-ops merged commit eda89c9 into main Jan 26, 2026
26 checks passed
@bug-ops bug-ops deleted the release/v0.5.0 branch January 26, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates (Cargo.toml, Cargo.lock) documentation Documentation updates, README, guides rust Rust language specific changes security Security issues or improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants