Skip to content

Releases: RAprogramm/masterror

v0.24.0

28 Sep 02:05

Choose a tag to compare

Added

  • Introduced AppCode::new and AppCode::try_new constructors with strict
    SCREAMING_SNAKE_CASE validation, plus regression tests covering custom codes
    flowing through AppError and ErrorResponse JSON serialization.
  • Documented runtime-defined codes across the wiki pages to highlight
    AppCode::try_new usage.

Changed

  • Replaced the closed AppCode enum with a string-backed newtype supporting
    caller-defined codes while preserving built-in constants.
  • Updated mapping helpers and generated tables to work with the new representation
    by returning references instead of copying codes.
  • Adjusted serde parsing to validate custom codes and report
    ParseAppCodeError on invalid payloads.

v0.23.3

28 Sep 02:05

Choose a tag to compare

Changed

  • Replaced temporary String allocations in RFC7807 metadata hashing and masking
    with stack buffers to keep the textual representations and digests stable
    while avoiding heap usage.

Added

  • Regression tests covering hashed and last-four redaction paths for numeric,
    UUID, and IP metadata to guarantee the legacy formatting remains unchanged.

v0.23.2

28 Sep 02:04

Choose a tag to compare

Fixed

  • Removed an unused String import from the response details module to keep
    builds warning-free under -D warnings.

v0.23.1

28 Sep 02:04

Choose a tag to compare

Fixed

  • Restored the AppError::with_context helper as an alias for with_source,
    preserving the Arc fast-path, updating documentation and README templates,
    and adding regression tests for plain and anyhow::Error diagnostics.

v0.23.0

28 Sep 02:04

Choose a tag to compare

Added

  • Added feature-gated detail payload storage to AppError with new
    with_details, with_details_json, and with_details_text helpers plus unit
    tests covering both serde-json configurations.
  • Exposed the stored details through ProblemJson and legacy ErrorResponse
    conversions so RFC7807 and historical payloads emit the supplied data.

Changed

  • Updated the documentation set to highlight the new helpers and clarify
    feature requirements for attaching structured details.

v0.22.0

28 Sep 02:04

Choose a tag to compare

Added

  • Introduced an explicit std feature (enabled by default) and made the core
    crate compile in no_std + alloc environments, including metadata builders
    and error helpers.

Changed

  • Reworked AppError internals to rely on core/alloc primitives and
    core::error::Error, providing std::error::Error only when the std
    feature is active.
  • Replaced thiserror derives on AppErrorKind with manual Display/error
    implementations so the taxonomy remains available without the standard
    library.

v0.21.2

28 Sep 02:04

Choose a tag to compare

Added

  • Expanded Metadata field coverage with float, duration, IP address and optional JSON values, complete with typed builders, doctests
    and unit tests covering the new cases.

Changed

  • Enriched RFC7807 and gRPC adapters to propagate the new metadata types, hashing/masking them consistently across redaction policies.
  • Documented the broader telemetry surface in the README so adopters discover the additional structured field builders.

v0.21.1

24 Sep 11:17

Choose a tag to compare

Fixed

  • Packed rarely used AppError context (source and backtrace slots) inside the
    boxed inner payload so the AppResult alias no longer triggers Clippy's
    result_large_err lint under -D warnings.

v0.21.0

24 Sep 11:17

Choose a tag to compare

Added

  • Introduced typed ensure! and fail! macros as allocation-free alternatives
    to anyhow::ensure!/anyhow::bail!, complete with documentation and tests.

Changed

  • Highlighted the new control-flow macros across the English and Russian
    READMEs and module documentation so adopters discover them alongside the
    derive tooling.

v0.20.8

24 Sep 11:17

Choose a tag to compare

Fixed

  • Classified Redis BusyLoadingError responses as DependencyUnavailable and
    preserved their retry advice in metadata so downstreams can distinguish cache
    warmup from client mistakes when the redis feature is enabled.
  • Serialized the serde_json syntax error position using the location reported
    by serde_json::Error to stay aligned with the upstream parser changes.
  • Guarded the tracing telemetry test with a process-wide mutex to prevent
    spurious race failures when the full feature suite runs the test harness in
    parallel.