Tags

Tags give the ability to mark specific points in history as being important
  • v0.2.0

    protected
    3fbb8b2c · chore(release): v0.2.0 ·
    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

    protected
    # 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.