Tags give the ability to mark specific points in history as being important
-
v0.2.0
protected3fbb8b2c · ·Summary Cruxi v0.2.0 focuses on contract hardening across core semantics, adapter behavior, context lifecycle, and CI architecture enforcement. This release makes more framework behavior explicit, test-backed, and safer by default. Highlights - Added default CodedError transport mapping in adapters: - Axum: CodedError -> HTTP status + ApiError with safe/opaque exposure policy. - Tonic: CodedError -> gRPC Status with class-based code mapping. - Eliminated sync/async method ambiguity traps with explicit UFCS usage patterns and all-features regression tests. - Hardened context semantics: - explicit done reasons - shared cancellation handle - deadline propagation behavior - retry classification alignment for cancellation vs deadline expiry - Added contract docs and runnable examples for: - hook semantics - typed context metadata - adapter-facing error mapping - Strengthened architecture governance: - dependency boundary policy checks - report generation and maintainers guidance Added - Default adapter mapping APIs for CodedError in Axum and Tonic adapters. - Conformance tests for middleware/tracing/retry hook semantics. - Sync/async disambiguation regression tests for all-feature builds. - Runnable examples for: - hook semantics - context metadata accessors - default adapter error mapping Changed - Context model behavior is now explicitly defined around cancellation, deadline, and propagation semantics. - Error classification contracts are now explicit and adapter-facing, with safe message exposure rules. - Maintainer and architecture docs now codify key framework contracts and invariants. Fixed - Transport mapping behavior now preserves domain intent more consistently instead of collapsing everything into generic internal responses. - Retry and done-reason behavior now has stronger semantic coverage for cancellation vs deadline paths. - Sync/async method call ambiguity (E0034) now has documented and tested call patterns. Docs - Added/expanded architecture contract docs for: - async path ADR - hook semantics - context metadata contract - error mapping contract - Updated maintenance guidance and runnable example coverage. CI / Quality - Boundary policy enforcement and architecture reporting integrated into workflow. - Clippy/test hardening and conformance checks expanded across key crates. Breaking / Migration Notes - Prefer explicit trait-qualified calls when sync and async traits coexist: - Handler::handle(...) - AsyncHandler::handle(...) - Prefer typed context metadata accessors over ad-hoc key-style patterns. - Adapter integrations should use default CodedError mappers or explicit *_with_mapper hooks for custom mapping policy. -
v0.1.0
protecteda6f9c496 · ·# Changelog All notable changes to Cruxi will be documented in this file. ## [0.1.0] - 2026-04-09 ### Added - Initial public release of Cruxi, a transport-agnostic Rust framework for hexagonal architecture (Ports & Adapters). - Core framework contracts in cruxi: - Handler - Service - Repository - Provider - Validator - Context - Sync-first APIs with optional async support behind feature flags. - Companion crates: - cruxi-api - cruxi-validate - cruxi-authz - cruxi-authz-openfga - cruxi-authz-permify - cruxi-authz-spicedb - cruxi-adapters (Axum/Tonic) - cruxi-middleware - cruxi-logging - cruxi-metrics - cruxi-tracing - cruxi-retry - cruxi-breaker - cruxi-clock - cruxi-watchdog - cruxi-config - cruxi-jwt - cruxi-sops - cruxi-skywalking - Example applications, including a full RealWorld Conduit example. ### Quality - Workspace quality gates for formatting, clippy, tests, and docs. ### Compatibility - Rust edition: 2024 - Workspace MSRV target: rustc 1.94+ ### Notes - This release establishes stable architecture boundaries and composable building blocks. - 0.2.0 will focus on production hardening, adapter error mapping, provider contract coverage, and ergonomics improvements.