Releases: RAprogramm/masterror
Releases · RAprogramm/masterror
v0.24.0
Added
- Introduced
AppCode::newandAppCode::try_newconstructors with strict
SCREAMING_SNAKE_CASE validation, plus regression tests covering custom codes
flowing throughAppErrorandErrorResponseJSON serialization. - Documented runtime-defined codes across the wiki pages to highlight
AppCode::try_newusage.
Changed
- Replaced the closed
AppCodeenum 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
ParseAppCodeErroron invalid payloads.
v0.23.3
Changed
- Replaced temporary
Stringallocations 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
Fixed
- Removed an unused
Stringimport from the response details module to keep
builds warning-free under-D warnings.
v0.23.1
Fixed
- Restored the
AppError::with_contexthelper as an alias forwith_source,
preserving theArcfast-path, updating documentation and README templates,
and adding regression tests for plain andanyhow::Errordiagnostics.
v0.23.0
Added
- Added feature-gated detail payload storage to
AppErrorwith new
with_details,with_details_json, andwith_details_texthelpers plus unit
tests covering both serde-json configurations. - Exposed the stored details through
ProblemJsonand legacyErrorResponse
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
Added
- Introduced an explicit
stdfeature (enabled by default) and made the core
crate compile inno_std + allocenvironments, including metadata builders
and error helpers.
Changed
- Reworked
AppErrorinternals to rely oncore/allocprimitives and
core::error::Error, providingstd::error::Erroronly when thestd
feature is active. - Replaced
thiserrorderives onAppErrorKindwith manualDisplay/error
implementations so the taxonomy remains available without the standard
library.
v0.21.2
Added
- Expanded
Metadatafield 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
Fixed
- Packed rarely used
AppErrorcontext (source and backtrace slots) inside the
boxed inner payload so theAppResultalias no longer triggers Clippy's
result_large_errlint under-D warnings.
v0.21.0
Added
- Introduced typed
ensure!andfail!macros as allocation-free alternatives
toanyhow::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
Fixed
- Classified Redis
BusyLoadingErrorresponses asDependencyUnavailableand
preserved their retry advice in metadata so downstreams can distinguish cache
warmup from client mistakes when theredisfeature is enabled. - Serialized the serde_json syntax error position using the location reported
byserde_json::Errorto 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.