Releases: RAprogramm/masterror
Releases · RAprogramm/masterror
v0.20.7
Fixed
- Replaced the remaining fallible
Status::try_fromconversions in the Tonic
adapter tests with the infallibleStatus::fromAPI so Clippy's
unnecessary_fallible_conversionslint passes under-D warnings.
v0.20.6
Fixed
- Restored compilation on Rust 1.90+ by aliasing the infallible gRPC
conversion error tocore::convert::Infallibleand re-exporting it without
exposing the privateconvert::tonicmodule.
v0.20.5
Changed
- Rewrote the English and Russian READMEs to reflect the matured workspace, feature flags, telemetry flows and transport integrations introduced across the 0.20 releases.
Fixed
- Promoted the gRPC converter to an infallible
From<Error>implementation
while retaining theTryFromAPI via the new documented
StatusConversionError, satisfying Clippy's infallible conversion lint. - Collapsed nested metadata guards in the Tonic adapter and reused borrowed
booleans to silence Clippy without regressing runtime behaviour. - Simplified the
AppResultalias test to avoid largeErrvariant warnings
from Clippy'sresult_large_errlint.
v0.20.4
Added
- Implemented
FromStrsupport forAppCodetogether with a lightweight
ParseAppCodeErrorso RFC7807 responses and documentation examples can parse
machine codes without bespoke helpers.
Fixed
- Removed the redundant
#![cfg(feature = "axum")]attribute and tightened
Axum, SQLx and Tonic integration tests to satisfy-D warningsbuilds. - Allowed attaching JSON details via
ErrorResponse::with_detailswithout
tripping Clippy'sresult_large_errlint by documenting the intentional
AppErrorreturn shape.
v0.20.3
Fixed
- Restored the Axum transport adapter in builds by wiring the
convert::axum
module into the crate graph and relaxing the tests to validate responses via
serde_json::Valueinstead of requiringProblemJsondeserialization. - Hardened converter telemetry for Redis, Reqwest, SQLx, Tonic and multipart
integrations by owning metadata strings where necessary and covering
non-exhaustive enums so the crate compiles cleanly on Rust 1.90. - Reworked
ProblemJsonmetadata internals to useCow<'static, str>keys and
values, preserving zero-copy behaviour for borrowed data while allowing owned
fallbacks required by the updated converters.
v0.20.2
Fixed
- Restored compatibility with Rust 1.89 by updating gRPC, Redis, SQLx and
serde_json integrations to avoid deprecated APIs, unsafe environment
mutations and Debug requirements that no longer hold. - Added deterministic backtrace preference overrides for unit tests so
telemetry behavior remains covered without mutating global environment
variables. - Ensured config error mapping gracefully handles new non-exhaustive variants
by falling back to a generic context that captures the formatted error.
v0.20.1
Changed
- Enriched converter metadata across
multipart,redis,reqwest,
serde_jsonandsqlxintegrations to surface HTTP status details,
retry-after hints and structured failure positions while keeping existing
error categories intact. - Updated the Teloxide mapping to classify
ApiError::InvalidTokenas
Unauthorizedand hash potentially sensitive network error details before
emitting telemetry.
Tests
- Extended integration tests to assert the new metadata fields, retry hints,
and redaction policies covering the updated converters.
v0.20.0
Added
- Added a
Context::redact_field_mutbuilder method to tweak metadata
redaction policies in place before attaching additional fields. - Extended response tests to cover JSON serialization of redacted payloads and
hashed metadata along with checks for the opt-in internal formatters.
Changed
- Verified
ErrorResponseandProblemJsonserialization respects message and
metadata redaction policies, ensuring secrets stay out of wire payloads while
keeping diagnostic logging intact.
v0.19.0
Changed
- Reworked
AppErrorstorage to keep sources behind sharedArchandles and
lazily capture optionalBacktracesnapshots without allocating when
RUST_BACKTRACEdisables them. - Updated the
masterror::Errorderive andResultExtconversions to forward
sources/backtraces automatically under the new storage layout.
Tests
- Added regression coverage for chained error sources and conditional
backtrace capture driven by theRUST_BACKTRACEenvironment variable.
v0.18.0
Added
- Added the
AppCode::UserAlreadyExistsclassification and mapped it to RFC7807
responses with the appropriate retry hint.
Changed
- Switched all integration converters in
src/convert/*to build structured
Contextmetadata before producingErrorvalues, including HTTP status,
operation, endpoint, duration and retry/edit flags. - Extended integration tests to validate the enriched metadata, retry behavior
and error code/category mappings across the updated converters.